/// <summary>
/// 数据分页方法
/// </summary>
/// <param name="PageIndex">当前页</param>
/// <param name="PageSize">每页显示数量</param>
/// <param name="PageCount">总数据</param>
/// <param name="Url">链接,如:list.aspx?id=1234</param>
/// <returns></returns>
public static string GetPage(int PageIndex, int PageSize, int RecordCount, string Url)
{
StringBuilder sb = new StringBuilder();
try
{
//计算总页数
int PageCount = RecordCount % PageSize == ? RecordCount / PageSize : RecordCount / PageSize + ;
if (PageIndex < )
{
PageIndex = ;
}
if (PageIndex > PageCount)
{
PageIndex = PageCount;
}
string StarPage = "";//首页
string EndPage = "";//尾页
string PrePage = "";//上一页
string NextPage = "";//下一页
//首页和上一页的链接
if (PageIndex <= || PageCount <= )
{
StarPage = "";
PrePage = "";
}
else
{
StarPage = "";
PrePage = "<li class=\"previous\"><a href=\"" + Url + "&page=" + (PageIndex - ) + "\">上一页</a></li>";
}
//末页和下一页的链接
if (PageIndex == PageCount || PageCount <= )
{
EndPage = "";
NextPage = "";
}
else
{
EndPage = "";
NextPage = "<li class=\"next\"><a href=\"" + Url + "&page=" + (PageIndex + ) + "\">下一页</a></li>";
}
//页码输出
int PagerStart = ;//第一个页码
if (PageCount >= )
{
PagerStart = PageIndex % == ? PageIndex - : PageIndex - PageIndex % ;
}
if (PagerStart < )
{
PagerStart = ;
}
string NumBtn = "";
for (int i = PagerStart; i < PagerStart + && i <= PageCount; i++)
{
if (i == PageIndex)
{
NumBtn += "<li class=\"current\"><a>" + i + "</a>";
}
else
{
NumBtn += "<li><a href=\"" + Url + "&page=" + i + "\">" + i + "</a></li>";
}
}
sb.Append(StarPage + PrePage + NumBtn + NextPage + EndPage);
}
catch
{
sb.Append("");
}
return sb.ToString();
}

具体样式可以去www.weixh.net参考一下

asp.net数据分页方法的更多相关文章

  1. ASP.NET的分页方法(一)

    要做一个关于分页写法的专题,这是今天的第一讲,自制分页,可能有些代码需要优化,希望大家给出一些中肯的建议 前台使用的repeater绑定的数据: <form id="form1&quo ...

  2. ASP.NET的分页方法(二)

    第二讲主要使用到了常用的分页控件aspnetpager,这里对他就行一个简单的应用,具体大家可以到杨涛的博客上去寻找相关的DLL, 首先要先引用AspNetPager.dll,然后把这个DLL同时添加 ...

  3. ASP.NET的分页方法(三)

    第三讲是应用于MVC上面的分页,很多时候MVC要和EF表达式一起使用,但是我这个使用的最原始的ADO.NET,一样实现了这个效果.要实现这个效果首先要得到MvcPager.dll,引用之后,前台操作如 ...

  4. ASP.NET的分页方法(四)

    这是我早先得到的一段JS代码,只需要修改一下开头的几个参数,就可以使用,不知道能否试用于静态页面呢,大家可以尝试一下 <script language="javascript" ...

  5. C#少量数据分页方法

    string sql = @"select [Name],[Value],[TypeCode] from [dbo].[SYS_Parameter] WHERE TypeCode = 'Us ...

  6. 转:SQL SERVER数据库中实现快速的数据提取和数据分页

    探讨如何在有着1000万条数据的MS SQL SERVER数据库中实现快速的数据提取和数据分页.以下代码说明了我们实例中数据库的“红头文件”一表的部分数据结构: CREATE TABLE [dbo]. ...

  7. Sql Server 数据分页

    http://www.cnblogs.com/qqlin/archive/2012/11/01/2745161.html 1.引言 在列表查询时由于数据量非常多,一次性查出来会非常慢,就算一次查出来了 ...

  8. ASP.NET MVC 数据分页思想及解决方案代码

    作为一个程序猿,数据分页是每个人都会遇到的问题.解决方案更是琳琅满目,花样百出.但基本的思想都是差不多的. 下面给大家分享一个简单的分页器,让初学者了解一下最简单的分页思想,以及在ASP.NET MV ...

  9. ASP.NET使用ListView数据绑定控件和DataPager实现数据分页显示(二)

    使用ListView控件进行修改,删除与添加操作1.页面代码: <asp:ListView ID="lv2" runat="server" onpagep ...

随机推荐

  1. Oracle 配置tnsnames.ora

    之所以要配置这个文件,是因为里面有配置数据库 服务器的地址. 目录: E:\app\PC-Gang\product\11.2.0\dbhome_1\NETWORK\ADMIN

  2. windows拒绝远程登陆

  3. MINA学习汇总

    MINA学习汇总 Apache Mina Server 是一个网络通信应用框架,用于开发高性能和高可用性的网络应用程序.它主要是对基于TCP/IP.UDP/IP协议栈的通信框架(然,也可以提供JAVA ...

  4. scala学习手记40 - case表达式里的模式变量和常量

    再来看一下之前的一段代码: def process(input: Any) { input match { case (a: Int, b: Int) => println("Proc ...

  5. python 正则表达式使用

    正则表达式总结: python支持的字符和语法:. 匹配任意除换行符\n 之外的所有字符\ 转义字符 比如说要匹配的字符中含有 \ . * 等可以使用\转义 例如 \* \. \\[.....] 直接 ...

  6. 转:大数据时代快速SQL引擎-Impala

    本文来自:http://blog.csdn.net/yu616568/article/details/52431835 如有侵权 可立即删除 背景 随着大数据时代的到来,Hadoop在过去几年以接近统 ...

  7. fastclick插件 导致 日期插件无法触发

    fastclick源文件中有这一行,加个if条件就可以了 当touchend的时候我们判断一下他的event.target到底是啥,如果是date我们就不玩了,不要你fastclick了,用原生的去触 ...

  8. Apk大瘦身

    Android的apk文件越来越大了这已经是一个不争的事实.在Android 还是最初版本的时候,一个app的apk文件大小也还只有2 MB左右,到了现在,一个app的apk文件大小已经升级到10MB ...

  9. How do I create zip file in Servlet for download?

    原文链接:https://kodejava.org/how-do-i-create-zip-file-in-servlet-for-download/ The example below is a s ...

  10. ng $scope与$rootScope的关系

    $scope与$rootScope的关系:①不同的控制器之间 是无法直接共享数据②$scope是$rootScope的子作用域对象$scope的id是随着控制器的加载顺序依次递增,$rootScope ...