public class MyPager
{
/// <summary>
/// 每一页数据的条数
/// </summary>
public int PageSize { get; set; } /// <summary>
/// 总数据条数
/// </summary>
public int TotalCount { get; set; } /// <summary>
/// 显示出来的页码的最多个数
/// </summary>
public int MaxPagerCount { get; set; } /// <summary>
/// 当前页的页码(从1开始算起始页)
/// </summary>
public int PageIndex { get; set; } /// <summary>
/// 链接的格式,约定其中页码用{pn}占位符
/// </summary>
public string UrlPattern { get; set; } /// <summary>
/// 当前页的页码的样式名字
/// </summary>
public string CurrentPageClassName { get; set; } public string GetPagerHtml()
{
StringBuilder html = new StringBuilder();
html.Append("<ul>"); //ToDO:加上上一页、下一页、首页、末页、页面跳转等。 //总页数
int pageCount = (int)Math.Ceiling(TotalCount*1.0/PageSize);
//显示出来的页码的起始页码
int startPageIndex = Math.Max(, PageIndex - MaxPagerCount / );
//显示出来的页码的结束页码
int endPageIndex = Math.Min(pageCount, startPageIndex + MaxPagerCount);
for(int i=startPageIndex;i<= endPageIndex;i++)
{
//是当前页
if (i == PageIndex)
{
html.Append("<li class='").Append(CurrentPageClassName).Append("'>")
.Append(i).Append("</li>");
}
else
{
string href = UrlPattern.Replace("{pn}", i.ToString());
html.Append("<li><a href='").Append(href).Append("'>")
.Append(i).Append("</a></li>");
}
} html.Append("</ul>");
return html.ToString();
}
}

html自定义分页的更多相关文章

  1. asp.net webform 自定义分页控件

    做web开发一直用到分页控件,自己也动手实现了个,使用用户自定义控件. 翻页后数据加载使用委托,将具体实现放在在使用分页控件的页面进行注册. 有图有真相,给个直观的认识: 自定义分页控件前台代码: & ...

  2. Python之路【第十九篇】自定义分页实现(模块化)

    自定义分页 1.目的&环境准备 目的把分页写成一个模块的方式然后在需要分页的地方直接调用模块就行了. 环境准备Django中生成一个APP并且注册,配置URL&Views 配置URL ...

  3. C# DataGridView自定义分页控件

    好些日子不仔细写C#代码了,现在主要是Java项目,C#.Net相关项目不多了,有点手生了,以下代码不足之处望各位提出建议和批评. 近日闲来无事想研究一下自定义控件,虽然之前也看过,那也仅限于皮毛,粗 ...

  4. MVC下分页的自定义分页一种实现

    1.引言 在MVC开发中我们经常会对数据进行分页的展示.通过分页我们可以从服务端获取指定的数据来进行展示.这样既节约了数据库查询的时间也节约了网络传输的数据量.在MVC开发中使用的比较多的应该是MVC ...

  5. Django自定义分页、bottle、Flask

    一.使用django实现之定义分页 1.自定义分页在django模板语言中,通过a标签实现; 2.前段a标签使用<a href="/user_list/?page=1"> ...

  6. Mvc自定义分页控件

    MVC开发分页常常使用第三方控件,生成的分页HTML带有版权申明,虽然免费,但是总有的别扭.于是,某日,楼主闲来蛋疼,折腾了个自定义分页控件: 先来展示下效果图: 1>当分页不超过10页的时候, ...

  7. MVC自定义分页

    MVC自定义分页 之前我发表了一篇MVC无刷新分页的文章,里面用的是MvcPager控件,但是那个受那个控件限制,传值只能用PagedList,各方面都受到了限制,自由度不够高,现在还是做MVC无刷新 ...

  8. PHPCMS快速建站系列之自定义分页函数

    内容分页的实现方法:{pc:content action="lists" catid="$catid" order="id DESC" nu ...

  9. 基于Entity Framework的自定义分页,增删改的通用实现

    简介 之前写个一个基于Dapper的分页实现,现在再来写一个基于Entity Framework的分页实现,以及增删改的通用实现. 代码 还是先上代码:https://github.com/jinwe ...

  10. 富文本编辑器UEditor自定义工具栏(二、插入图片、音频、视频个性化功能按钮和弹层及自定义分页符)

    导读:本篇将简单探讨插入图片.音频.视频的功能按钮实现方式 传送门:富文本编辑器UEditor自定义工具栏(一.基础配置与字体.背景色.行间距.超链接实现) 一.效果图 1.UEditor自定义工具栏 ...

随机推荐

  1. Java——对象

    1.2对象 1.2.1 对象的创建和使用 ①使用new + 构造器创建一个新的对象: ②使用“对象名.对象成员”的方式访问对象成员(包括属性和方法). public class Animal { pu ...

  2. JS For 循环详解;棋盘放粮食 64;冒泡排序实例

    FOR( 初始条件:循环条件:状态改变:) { 被执行的代码块} 初始条件: 在循环(代码块)开始前执行 循环条件:定义运行循环(代码块)的条件 状态改变: 在循环(代码块)已被执行之后执行 循环可以 ...

  3. Impala的安装和使用

    通过本地yum源进行安装impala 所有cloudera软件下载地址 http://archive.cloudera.com/cdh5/cdh/5/ http://archive.cloudera. ...

  4. Contos7 FTP 安装步骤

    1. 使用rpm -q vsftpd查看是否已安装2.如未安装使用yum -y install vsftpd安装3.修改ftp配置文件vim /etc/vsftpd/vsftpd.conf,修改内容如 ...

  5. IDEA web 开发环境搭建

    最近由eclipse 换 IDEA ,记录下开发环境的搭建过程. 1 配置idea vim 既可以使用IDEA方便的代码提示和调试功能,又可以方便使用vim编辑文件,安装完成后显示为vim Emula ...

  6. shell脚本实现取当前时间

    shell 实现获取当前时间,并进行格式转换的方法: 1)原格式输出 2018年 09月 30日 星期日 15:55:15 CST time1=$(date) echo $time1 2)时间串输出 ...

  7. iBATIS结果映射

    resultMap的元素是在iBATIS的最重要和最强大的元素.您可以通过使用iBATIS的结果映射减少高达90%的JDBC编码,在某些情况下,可以让你做JDBC不支持的事情. ResultMaps的 ...

  8. 通过Python SDK 获取tushare数据

    导入tushare import tushare as ts 这里注意, tushare版本需大于1.2.10 设置token ts.set_token('your token here') 以上方法 ...

  9. 14-Ubuntu-文件和目录命令-查看目录内容-ls-1

    1.终端使用技巧 (1)tab键自动补全 (2)按上/下光标键查看使用过的命令 (3)退出当前命令,Ctrl C (4)缩小--Ctrl - ;放大--Ctrl shift + 2.ls 命令--查看 ...

  10. Servlet共享数据

    共享数据: 1.域对象:有一个作用范围的对象,可以在范围内共享数据 2.request域:代表一次请求范围,一般用于请求转发的多个资源中共享数据 方法: 1.存储数据:setAttrbute(Stri ...