cPage是asp.net分页控件,也可以叫做分页组件,更确切的应该叫做分页模块,也或者叫做分页通用代码。
cPage,版本3.2,源码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 | using System; namespace cPage { /// <summary> /// 分页方法 /// </summary> public class mPage { /// <summary> /// 分页处理 /// </summary> /// <param name="recordCount">记录总数</param> /// <param name="pageSize">每页记录数</param> /// <param name="pageNum">中间页码数</param> /// <param name="pageIndex">当前页码</param> /// <param name="beginIndex">返回的首记录标识</param> /// <param name="endIndex">返回的尾记录标识</param> /// <param name="clink">链接地址</param> /// <returns></returns> public static string getPage( int recordCount, int pageSize, int pageNum, int pageIndex, out int beginIndex, out int endIndex, string clink) { int pcount = recordCount / pageSize; if (recordCount % pageSize > 0) pcount = pcount + 1; if (pageIndex < 1) pageIndex = 1; if (pageIndex > pcount) pageIndex = pcount; beginIndex = pageSize * (pageIndex - 1) + 1; endIndex = pageSize * pageIndex; int num = pageNum; //中间显示页码数量 string str = "" ; str = str + "共<span class='pagecolorc'>" + recordCount + "</span>条记录 <span class='pagecolorc'>" + pageIndex + "</span> / <span class='pagecolorc'>" + pcount + "</span> 页 " ; if (pcount > 1) { int wzleft, wzright, wzpagecount, wzcurrentpage, wzpagecountleft; wzcurrentpage = pageIndex; wzpagecount = pcount; if (wzcurrentpage < num) wzleft = 0; else wzleft = wzcurrentpage / num; wzright = wzcurrentpage % num; if (wzright == 0) wzleft = wzleft - 1; if (wzcurrentpage - 1 > 0) str = str + " <a class='pagecolor pagenum' href='" + clink.Replace( "[#p#]" , (wzcurrentpage - 1).ToString()) + "' title='上一页'>上一页</a> " ; if (wzcurrentpage > num) { if (wzcurrentpage != 1 && wzcurrentpage > num) str = str + " <a class='pagecolor pagenum' href='" + clink.Replace( "[#p#]" , "1" ) + "'>1</a> " ; str = str + " <a class='pagecolor pagenum' href='" + clink.Replace( "[#p#]" , (wzleft * num).ToString()) + "' title='上一组'>...</a> " ; } for ( int i = 1; i <= num; i++) { if (wzleft * num + i == wzcurrentpage) str = str + " <a class='pagecolorc pagecur'>" + (wzleft * num + i) + "</a> " ; else str = str + " <a class='pagecolor pagenum' href='" + clink.Replace( "[#p#]" , (wzleft * num + i).ToString()) + "'>" + (wzleft * num + i) + "</a> " ; if (wzleft * num + i == wzpagecount) break ; } wzpagecountleft = wzpagecount / num; if (wzpagecount % num == 0) wzpagecountleft = wzpagecountleft - 1; if (wzleft < wzpagecountleft) { str = str + " <a class='pagecolor pagenum' href='" + clink.Replace( "[#p#]" , (wzleft * num + (pageNum + 1)).ToString()) + "' title='下一组'>...</a> " ; if (wzcurrentpage != wzpagecount && wzpagecount > num) str = str + " <a class='pagecolor pagenum' href='" + clink.Replace( "[#p#]" , wzpagecount.ToString()) + "'>" + wzpagecount + "</a> " ; } if (wzcurrentpage + 1 <= pcount) str = str + " <a class='pagecolor pagenum' href='" + clink.Replace( "[#p#]" , (wzcurrentpage + 1).ToString()) + "' title='下一页'>下一页</a> " ; } return str; } } } |
将以上代码添加到mPage.cs文件内,编译成dll就可以使用了。
也可以点击这里下载。
也可以站内下载,点这里
版权所有,bubufx,禁止转载!
分类:
VS.net2010
, cPage
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
2007-12-19 图片放大镜的js实现,支持IE和Firefox