ASP.NET实用分页代码

        /// <summary>
        /// 获得页数
        /// </summary>
        /// <param name="DataItemCount">总共的数据条数</param>
        /// <param name="PageSize">每页的数据条数</param>
        /// <returns>返回页数</returns>
        public static int GetPageCount(int DataItemCount, int PageSize)
        {
            int PageCount;
            PageCount = (DataItemCount % PageSize == 0) ? DataItemCount / PageSize : DataItemCount / PageSize+1;
            return PageCount;
        }
        /// <summary>
        /// 分页方法1
        /// </summary>
        /// <param name="CurrentPage">当前页</param>
        /// <param name="DataItemCount">信息总条数(比如文章数量)</param>
        /// <param name="LinksCount">每页显示的链接数</param>
        /// <returns>返回字符串</returns>
        public static string PagingMethod1(int CurrentPage, int DataItemCount,int PageSize, int LinksCount,string Adds)
        {
            int PageCount = GetPageCount(DataItemCount, PageSize);
            if (CurrentPage <= 0)
            {
                CurrentPage = 1;

            }
            else if (CurrentPage > PageCount)
            {
                CurrentPage = PageCount;
            }

            //minpage 和maxpage值的判断


            if (PageCount <= LinksCount) //当 页数大于每页显示的连接数时
            {
                MinPage = 1;
                MaxPage = PageCount;
            }

            else if (PageCount > LinksCount) //当页数小于每页显示的连接数时
            {
                if (CurrentPage < LinksCount / 2)
                {
                    MaxPage = LinksCount;
                    if ((CurrentPage - LinksCount / 2) < 1)
                    {
                        MinPage = 1;

                    }
                    else
                    {
                        MinPage = CurrentPage - LinksCount / 2;

                    }

                }
                else
                {
                    MinPage = CurrentPage - LinksCount / 2 + 1;
                    if ((CurrentPage + (LinksCount / 2)) > PageCount)
                        MaxPage = PageCount;
                    else
                        MaxPage = CurrentPage + LinksCount / 2;

                }

            }

            StringBuilder Link = new StringBuilder();
            if (MinPage > 1)//如果链接字符串里没有"首页"的时候
                Link.Append("<a href=\"?CurrentPage=1"+Adds+"\">1...</a> ");
           

            for (int i = MinPage; i <= MaxPage; i++)
            {
                if (i == CurrentPage)
                    Link.Append("<a href=\"?CurrentPage=" + i.ToString() +Adds+ "\">[" + i.ToString() + "]</a> ");
                else
                    Link.Append("<a href=\"?CurrentPage=" + i.ToString() + Adds+"\">" + i.ToString() + "</a> ");
            }
            if (MaxPage < PageCount)//如果链接字符串里没有"最后一页"的时候
                Link.Append("<a href=\"?CurrentPage=" + PageCount.ToString() + Adds + "\">..."+ PageCount.ToString()+"</a> ");
            return Link.ToString();
        }
结果生成类似于这样的字符串:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值