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

cPage分页详细介绍的更多相关文章

  1. cPage分页,asp.net自定义分页,url传值分页,支持datalist、gridview、Repeater等

    asp.net分页是最最常用的功能,实现方式也很多,使用不同的控件有不同的分页方式. 下面分享一个我们团队内部使用了多年的一个分页控件cPage,是自己设计编写,没有冗余,简单.快速. cPage,现 ...

  2. Android SQLite 数据库详细介绍

    Android SQLite 数据库详细介绍 我们在编写数据库应用软件时,需要考虑这样的问题:因为我们开发的软件可能会安装在很多用户的手机上,如果应用使用到了SQLite数据库,我们必须在用户初次使用 ...

  3. sqlite数据库操作详细介绍 增删改查,游标

    sqlite数据库操作详细介绍 增删改查,游标     本文来源于www.ifyao.com禁止转载!www.ifyao.com Source code     package com.example ...

  4. 详细介绍Redis的几种数据结构以及使用注意事项(转)

    原文:详细介绍Redis的几种数据结构以及使用注意事项 1. Overview 1.1 资料 <The Little Redis Book>,最好的入门小册子,可以先于一切文档之前看,免费 ...

  5. 【spring boot】11.spring-data-jpa的详细介绍和复杂使用

    ==================================================================================================== ...

  6. [No0000A7]批处理经常用到的变量及批处理>NUL详细介绍

    绝对路径是指调用绝对的程序位置的路径,例如: start C:\Windows\test.exe 相对路径是文件改变路径以后还会按照变量的路径所在位置去调用,例如: start %WINDIR%\te ...

  7. linux配置网卡IP地址命令详细介绍及一些常用网络配置命令

    linux配置网卡IP地址命令详细介绍及一些常用网络配置命令2010-- 个评论 收藏 我要投稿 Linux命令行下配置IP地址不像图形界面下那么方 便,完全需要我们手动配置,下面就给大家介绍几种配置 ...

  8. _MSC_VER详细介绍

    _MSC_VER详细介绍 转自:http://www.cnblogs.com/braver/articles/2064817.html _MSC_VER是微软的预编译控制. _MSC_VER可以分解为 ...

  9. Lind.DDD.Paging分页模块介绍

    回到目录 分页组件网上有很多,MVC.Pager,JSPager等,通过实现方式大体分为前端分页和后端分页,前端分页是前台对list内存本地集合进行分页,缺点就是在大数据情况下,内存占用过高:后端分页 ...

随机推荐

  1. deProto原型设计工具

    现有的原型工具,比如axure rp等等,都或多或少存在一些使用比较复杂的问题.以至于常常属于少数的产品经理的技能型工具. 在业余的时候,自己凭借兴趣开发了这个工具.希望能够以更简便的方法制作一个de ...

  2. repo upload上传提交时发生remote rejected异常

    部分关键异常内容为: ...... remote:ERROR:committer email address %%%%%% remote:ERROR:does not match your user ...

  3. Kruskal算法

    1.基本思想:设无向连通网为G=(V, E),令G的最小生成树为T=(U, TE),其初态为U=V,TE={ },然后,按照边的权值由小到大的顺序,考察G的边集E中的各条边.若被考察的边的两个顶点属于 ...

  4. core Bluetooth(蓝牙4.0)

    蓝牙4.0以低功耗著称,一般也叫BLE(Bluetooth Low Energy). 目前主要应用的场景有:智能家居.运动手环和室内导航等. 利用core Bluetooth框架可以实现苹果设备与第三 ...

  5. php正则,删除字符串中的中英文标点符号

    原理很简单,正则查找字符串,然后替换 英文标点符号,正则中有专用的模式来匹配.中文则需要一一列举 代码: <?php $str = "!@#$%^&*(中'文::﹑•中'文中' ...

  6. spring.net 如何让xml智能提示

    tools ->options ->Text Editor ->xml ->miscellaneous ->network ->勾选 automatically d ...

  7. 第一篇博文,整理一下关于Mac下安装本地LNMP环境的一些坑

    安装的主要步骤是按照以下这篇文章进行的http://blog.csdn.net/w670328683/article/details/50628629,但是依然遇到了一些大大小小的坑(一个环境搞了一天 ...

  8. libev学习(一)

    一.libev简介 Libev是一个事件循环:你注册感兴趣的特定事件(比如一个文件可以读取时或者发生超时时),它将管理这些事件源,将这些事件反馈给你的程序.为了实现这些,至少要在你的进程(或线程)中执 ...

  9. 多线程间通信之AutoResetEvent和ManualResetEvent的原理分析

    AutoResetEvent 允许线程通过发信号互相通信. 通常,当线程需要独占访问资源时使用该类. 线程通过调用 AutoResetEvent 上的 WaitOne 来等待信号. 如果 AutoRe ...

  10. javascript原始数据类型compareto引用数据类型--近3天不太会的地方

    ECMAScirpt 变量有两种不同的数据类型:基本类型,引用类型.也有其他的叫法,比如原始类型和对象类型,拥有方法的类型和不能拥有方法的类型,还可以分为可变类型和不可变类型,其实这些叫法都是依据这两 ...