asp.net中各种数据控件,datalist、gridview、Repeater等分页是最常用的功能,几乎任何一个B/S项目,无论是系统还是网站都会用到。
分页时,读取整个数据,直接绑定到控件,都可以实现分页,但是大数据量下服务器的资源会占用很多,为了让程序运行更有效率,每次只读取当前页数据。cPage和sqlserver语句结合起来能够轻松的实现这一功能,而且效率还是很高的。详细的demo在上一篇中。
cPage详细介绍如下:
cPage.dll,引用后,可以看到其中的类和方法。
cPage中mPage类是用来分页的类,调用mPage的getPage方法可以返回分页内容。
引用
在解决方案的项目上右键“添加引用”,在弹出的选择框里找到cPage.dll。
在要分页的页面cs文件中添加引用
1 | using cPage; |
添加引用后mPage可以直接使用,mPage其中getPage方法是分页方法
1 | mPage.getPage(_recordCount, _pageSize, _pageNum, p, out _beginIndex, out _endIndex, _url); |
返回的是字符串,在aspx中可以放在lable中
完整使用如下:
1、aspx
/*------------分页(新)------------*/ .pagenum{ padding:2px 6px 2px 6px; margin: 0 0 0 4px; text-align:center; border:1px solid #79b7e7;display:inline-block;} .pagenum:hover{border:1px solid #f5d37c; background-color:#fdf4de ; text- decoration:none; } .pagecur{background-color:#fdf4de; padding:2px 6px 2px 6px; margin: 0 0 0 4px; text- align:center; font-weight:bold; border:1px solid #f5d37c;display:inline-block;} .pagecur:hover{border:1px solid #f5d37c; background-color:#fdf4de ; text- decoration:none; } .pagecolor{color:#3f3f3f;} .pagecolorc{color:#FF6600;font-weight: bold;} /*------------分页(新)------------*/ <asp:Label ID="lblpage" runat="server"></asp:Label>
2、aspx.cs
1 | lblpage.Text = mPage.getPage(_recordCount, _pageSize, _pageNum, p, out _beginIndex, out _endIndex, _url); |
生成效果就是
getPage参数介绍:
recordCount:记录总数
pageSize:每页记录数
pageNum:中间页码数
pageIndex:当前页码
beginIndex:返回的首记录标识
endIndex:返回的尾记录标识
clink:链接地址
如果是借助分页存储过程,就很容易了,如果不是可以参考使用下面的sql语句,2005版本后的都可以使用
1 2 3 4 5 6 7 | //sql server 分页代码(sql server 2005后版本可用) sql = "WITH NoPagedTable AS (" + "SELECT ROW_NUMBER() OVER (" + sqlorder + ") AS rowIndex, " + " * " + " FROM " + sqltable + " " + ")select * from NoPagedTable WHERE rowIndex>=" + _beginIndex + " and rowIndex<=" + _endIndex; // |
版权所有,bubufx,禁止转载!
【推荐】国内首个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