星期零

技术改变生活,分享让我们快乐!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

cPage分页详细介绍

Posted on 2013-12-19 08:43  weekzero  阅读(1485)  评论(0编辑  收藏  举报

asp.net中各种数据控件,datalist、gridview、Repeater等分页是最常用的功能,几乎任何一个B/S项目,无论是系统还是网站都会用到。
分页时,读取整个数据,直接绑定到控件,都可以实现分页,但是大数据量下服务器的资源会占用很多,为了让程序运行更有效率,每次只读取当前页数据。cPage和sqlserver语句结合起来能够轻松的实现这一功能,而且效率还是很高的。详细的demo在上一篇中

cPage详细介绍如下:

cPage.dll,引用后,可以看到其中的类和方法。
cPage中mPage类是用来分页的类,调用mPage的getPage方法可以返回分页内容。

引用

在解决方案的项目上右键“添加引用”,在弹出的选择框里找到cPage.dll。

在要分页的页面cs文件中添加引用

using cPage;

添加引用后mPage可以直接使用,mPage其中getPage方法是分页方法

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

lblpage.Text = mPage.getPage(_recordCount, _pageSize, _pageNum, p, out _beginIndex, out _endIndex, _url);

生成效果就是

getPage参数介绍:

recordCount:记录总数
pageSize:每页记录数
pageNum:中间页码数
pageIndex:当前页码
beginIndex:返回的首记录标识
endIndex:返回的尾记录标识
clink:链接地址

 

如果是借助分页存储过程,就很容易了,如果不是可以参考使用下面的sql语句,2005版本后的都可以使用

//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,禁止转载!