cPage是asp.net分页控件,也可以叫做分页组件,更确切的应该叫做分页模块,也或者叫做分页通用代码。

cPage,版本3.2,源码如下:

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

cPage分页源码,分享给大家,可作参考的更多相关文章

  1. 45个android实例源码分享

    分享45个android实例源码,很好很强大 http://www.apkbus.com/android-20978-1-1.html andriod闹钟源代码 http://www.apkbus.c ...

  2. [DeviceOne开发]-土地销售项目源码分享

    一.简介 这个是一个真实项目开源,虽然不是很花哨,但是中规中矩,小细节处理的也很好,非常值得参考和借鉴.里面的数据都缓存到本地,可以离线运行,但是调整一下代码,马上就可以和服务端完全对接.后续会有详细 ...

  3. WP8.1&Win10幸运大转盘源码分享

    先AD一下我的群:Win10开发者群:53078485 最近在写一个APP,其中需要一个转盘动画的源码,找了很多但是都没有找到,无奈只好自己来写,写完效果自己还是比较满意的,分享出来,有需要的童鞋可以 ...

  4. 3D语音天气球(源码分享)——完结篇

    转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 开篇废话: 由于这篇文章是本系列最后一篇,有必要进行简单的回顾和思路整理. 这个程序是由两 ...

  5. 3D语音天气球(源码分享)——在Unity中使用Android语音服务

    转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 开篇废话: 这个项目准备分四部分介绍: 一:创建可旋转的"3D球":3 ...

  6. 3D语音天气球(源码分享)——通过天气服务动态创建3D球

    转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 开篇废话: 这个项目准备分四部分介绍: 一:创建可旋转的"3D球":3 ...

  7. 3D语音天气球(源码分享)——创建可旋转的3D球

    开篇废话: 在9月份时参加了一个网站的比赛,比赛的题目是需要使用第三方平台提供的服务做出创意的作品. 于是我选择使用语音服务,天气服务,Unity3D,Android来制作一个3D语音天气预报,我给它 ...

  8. android版猜拳游戏源码分享

    android版猜拳游戏源码分享安卓版猜拳游戏源码,该文件中带有安装测试包的,这个游戏源码比较简单的,现在有两个代码,一个自定义VIEW的,一个就是普通的imageView图片,游戏非常适合一些新手的 ...

  9. 一款非常简单的android音乐播放器源码分享给大家

    一款非常简单的android音乐播放器源码分享给大家,该应用虽然很小,大家常用的播放器功能基本实现了,可能有点还不够完善,大家也可以自己完善一下,源码在源码天堂那里已经有了,大家可以到那里下载学习吧. ...

随机推荐

  1. 结构及其使用 struct (C#)

    首先结构是值类型. 结构是使用 struct 关键字定义的,结构如下: struct 结构名{} 结构概述 结构具有以下特点: 结构是值类型,而类是引用类型. (结构不能包含显式的无参数构造函数) 与 ...

  2. sublime 3 安装配置

    Sublime Text 3安装与使用   本文是Sublime Text 全程指引 by Lucida (http://www.cnblogs.com/figure9/p/sublime-text- ...

  3. Html 之div+css布局之css选择器

    CSS选择器 什么叫选择器?通俗的来说就是 我想改变html 中某个地方的  字体大小 或者背景色 或者其它属性 内边距 外边距,宽度高度 等等 一些Css 样式. 那么我们如何找到对应的 元素呢? ...

  4. PHP中CURL方法curl_setopt()函数的一些参数

    bool curl_setopt (int ch, string option, mixed value)curl_setopt()函数将为一个CURL会话设置选项.option参数是你想要的设置,v ...

  5. Max Points on a Line

    Given n points on a 2D plane, find the maximum number of points that lie on the same straight line. ...

  6. MCMC: The Metropolis Sampler

    本文主要译自 MCMC: The Metropolis Sampler 正如之前的文章讨论的,我们可以用一个马尔可夫链来对目标分布 \(p(x)\) 进行采样,通常情况下对于很多分布 \(p(x)\) ...

  7. epoll的LT模式缺点

    本文为原创,转载请注明:http://www.cnblogs.com/gistao/ epoll提供了ET和LT两种模式,网上文章很多,这里只总结下LT模式下的两个缺点 epoll对fd的管理实现是用 ...

  8. 浏览器 HTTP 协议缓存机制详解

    最近在准备优化日志请求时遇到了一些令人疑惑的问题,比如为什么响应头里出现了两个 cache control.为什么明明设置了 no cache 却还是发请求,为什么多次访问时有时请求里带了 etag, ...

  9. BFC与CFC

    1.在创建了 Block Formatting Context 的元素中,其子元素按文档流一个接一个地放置.垂直方向上他们的起点是一个包含块的顶部,两个相邻的元素之间的垂直距离取决于 ‘margin’ ...

  10. JavaScript常用对象的方法和属性

    ---恢复内容开始--- 本文将简单介绍JavaScript中一些常用对象的属性和方法,以及几个有用的系统函数. 一.串方法 JavaScript有强大的串处理功能,有了这些串方法,才能编写出丰富多彩 ...