asp.net数据分页方法

/// <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 == 0 ? RecordCount / PageSize : RecordCount / PageSize + 1;
                if (PageIndex < 1)
                {
                    PageIndex = 1;
                }
                if (PageIndex > PageCount)
                {
                    PageIndex = PageCount;
                }
                string StarPage = "";//首页
                string EndPage = "";//尾页
                string PrePage = "";//上一页
                string NextPage = "";//下一页
                //首页和上一页的链接
                if (PageIndex <= 1 || PageCount <= 1)
                {
                    StarPage = "";
                    PrePage = "";
                }
                else
                {
                    StarPage = "";
                    PrePage = "<li class=\"previous\"><a href=\"" + Url + "&page=" + (PageIndex - 1) + "\">上一页</a></li>";
                }
                //末页和下一页的链接
                if (PageIndex == PageCount || PageCount <= 1)
                {
                    EndPage = "";
                    NextPage = "";
                }
                else
                {
                    EndPage = "";
                    NextPage = "<li class=\"next\"><a href=\"" + Url + "&page=" + (PageIndex + 1) + "\">下一页</a></li>";
                }
                //页码输出
                int PagerStart = 1;//第一个页码
                if (PageCount >= 5)
                {
                    PagerStart = PageIndex % 5 == 0 ? PageIndex - 2 : PageIndex - PageIndex % 5;
                }
                if (PagerStart < 1)
                {
                    PagerStart = 1;
                }
                string NumBtn = "";
                for (int i = PagerStart; i < PagerStart + 5 && 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数据分页方法

时间: 2024-08-05 23:20:08

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

ASP.NET的分页方法(一)

要做一个关于分页写法的专题,这是今天的第一讲,自制分页,可能有些代码需要优化,希望大家给出一些中肯的建议 前台使用的repeater绑定的数据: <form id="form1" runat="server"> <div> <ul style="list-style: none"> <asp:Repeater ID="Repeater1" runat="server"

ASP.NET的分页方法(二)

第二讲主要使用到了常用的分页控件aspnetpager,这里对他就行一个简单的应用,具体大家可以到杨涛的博客上去寻找相关的DLL, 首先要先引用AspNetPager.dll,然后把这个DLL同时添加入工具箱 接下来前台依然使用repeater控件进行绑定,写法如下: <form id="form1" runat="server"> <div> <ul style="list-style: none"> <

ASP.NET的分页方法(三)

第三讲是应用于MVC上面的分页,很多时候MVC要和EF表达式一起使用,但是我这个使用的最原始的ADO.NET,一样实现了这个效果.要实现这个效果首先要得到MvcPager.dll,引用之后,前台操作如下: @using Webdiyer.WebControls.Mvc; @model PagedList<MVCTest.Models.Info> <!DOCTYPE html> <html> <head> <meta name="viewpor

ASP.NET的分页方法(四)

这是我早先得到的一段JS代码,只需要修改一下开头的几个参数,就可以使用,不知道能否试用于静态页面呢,大家可以尝试一下 <script language="javascript"> var obj, j; var page = 0; var nowPage = 0;//当前页 var listNum = 3;//每页显示<ul>数 var PagesLen;//总页数 var PageNum = 4;//分页链接接数(5个) onload = function (

大数据分页实现与性能优化

摘要:Web 应用程序中经常使用数据分页技术,该技术是提高海量数据访问性能的主要手段.实现web数据分页有多种方案,本文通过实际项目的测试,对多种数据分页方案深入分析和比较,找到了一种更优的数据分页方案Row_number()二分法.它依靠二分思想,将整个待查询记录分为2部分,使扫描的记录量减少一半,进而还通过对数据表及查询条件进行优化,实现了存储过程的优化.根据Row_number()函数的特性,该方案不依赖于主键或者数字字段,大大提高了它在实际项目中的应用,使大数据的分页效率得到了更显著的提

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

探讨如何在有着1000万条数据的MS SQL SERVER数据库中实现快速的数据提取和数据分页.以下代码说明了我们实例中数据库的“红头文件”一表的部分数据结构: CREATE TABLE [dbo].[TGongwen] (    --TGongwen是红头文件表名 [Gid] [int] IDENTITY (1, 1) NOT NULL , --本表的id号,也是主键 [title] [varchar] (80) COLLATE Chinese_PRC_CI_AS NULL ,  --红头文件

Sql Server 数据分页

1.引言 在列表查询时由于数据量非常多,一次性查出来会非常慢,就算一次查出来了,也不能一次性显示给客户端,所以要把数据进行分批查询出来,每页显示一定量的数据,这就是数据要分页. 2.常用的数据分页方法 我们经常会碰到要取n到m条记录,就是有分页思想,下面罗列一下一般的方法. 我本地的一张表 tbl_FlightsDetail,有300多W记录,主键 FlightsDetailID(Guid),要求按照FlightsDetailID排序 取 3000001 到3000010 之间的10条记录,也是

Asp.Net数据控件引用AspNetPager.dll分页

今天与大家分享一下"Asp.Net数据控件引用AspNetPager.dll分页"首先声明以下几点: 1.也许讲解有点初级,希望高手不要"喷"我,因为我知道并不是每一个人都是高手,我也怕高手们说我装13,小生不才: 2.如有什么不对的地方,还希望大家指出,一定虚心学习: 3.本文属于作者原创,尊重他人劳动成果,转载请注明作者,谢谢. 下面开讲: 第一步:首先是下载一个AspNetPager.dll 下载地址 http://files.cnblogs.com/tand

详解ASP.NET MVC数据分页

ASP.NET MVC框架已经进入2.0时代,本文将从ASP.NET MVC数据分页谈起,希望能对大家有所帮助. 在网页上进行表格资料或其他显示资料的分页是一种十分常见的需求,以前我们有 GridView 或 DataPager 可以帮我们自动分页,虽然到了 ASP.NET MVC 一切全部重头来过,但我们也不用真的那麽辛苦的自己实做分页,因为早就有人帮我们写好程式并开放原始码分享给这个世界了. 如果你已经体会到在 ASP.NET MVC 中妥善利用强型别(Strong Typed)特性进行开发