本分页来自DTcms的分页代码,其中链接地址可根据项目需要自行拼接。
代码如下:
/// <summary> /// 返回分页页码 /// </summary> /// <param name="pageSize">页面大小</param> /// <param name="pageIndex">当前页</param> /// <param name="totalCount">总记录数</param> /// <param name="linkUrl">链接地址</param> /// <param name="centSize">中间页码数量</param> /// <returns></returns> public static string OutPageList(int pageSize, int pageIndex, int totalCount, string linkUrl, int centSize) { //计算页数 若总记录数、页数小于1 则不显示分页 if (totalCount < 1 || pageSize < 1) { return ""; } //计算总页数 int pageCount = totalCount / pageSize; //如果页数小于1 则不显示分页 if (pageCount < 1) { return ""; } //总记录数不被页面大小整除 则总页数+1 if (totalCount % pageSize > 0) { pageCount += 1; } if (pageCount <= 1) { return ""; } StringBuilder pageStr = new StringBuilder(); string firstBtn = "<a href=\"" + linkUrl, (pageIndex - 1).ToString() + "\">«上一页</a>"; string lastBtn = "<a href=\"" + linkUrl, (pageIndex + 1).ToString() + "\">下一页»</a>"; string firstStr = "<a href=\"" + linkUrl, "1" + "\">1</a>"; string lastStr = "<a href=\"" + linkUrl, pageCount.ToString() + "\">" + pageCount.ToString() + "</a>"; //当前页<=1 上一页按钮不可用 if (pageIndex <= 1) { firstBtn = "<span class=\"disabled\">«上一页</span>"; } //当前页>=总页数 下一页按钮不可用 if (pageIndex >= pageCount) { lastBtn = "<span class=\"disabled\">下一页»</span>"; } //当前页为1 时 选中页码1 if (pageIndex == 1) { firstStr = "<span class=\"current\">1</span>"; } //当前页为页面总数 时 选中最后页码 if (pageIndex == pageCount) { lastStr = "<span class=\"current\">" + pageCount.ToString() + "</span>"; } //中间开始的页码 int firstNum = pageIndex - (centSize / 2); if (pageIndex < centSize) firstNum = 2; //中间结束的页码 int lastNum = pageIndex + centSize - ((centSize / 2) + 1); if (lastNum >= pageCount) lastNum = pageCount - 1; pageStr.Append("<span>共" + totalCount + "记录</span>"); pageStr.Append(firstBtn + firstStr); if (pageIndex >= centSize) { pageStr.Append("<span>...</span>\n"); } for (int i = firstNum; i <= lastNum; i++) { if (i == pageIndex) { pageStr.Append("<span class=\"current\">" + i + "</span>"); } else { pageStr.Append("<a href=\"" + linkUrl, pageId, i.ToString() + "\">" + i + "</a>"); } } if (pageCount - pageIndex > centSize - ((centSize / 2))) { pageStr.Append("<span>...</span>"); } pageStr.Append(lastStr + lastBtn); return pageStr.ToString(); }
相关阅读 >>
c#开发实例-订制屏幕截图工具(七)添加放大镜功能的代码示例
c# 应用npoi获取excel中的图片,保存至本地的算法的图文代码实例详解
c#devexpress gridcontrol日期行的显示格式设置详解(图文)
c# win32控制台应用程序忽略ctrl + c阻止程序退出的代码示例(图)
更多相关阅读请进入《分页》频道 >>

C#高级编程(第11版) C# 7 & .NET Core 2.0(.NET开发经典名著)
作者:[美]克里斯琴·内格尔(Christian Nagel)著。出版时间:2019年3月。