.net实现数字分页

这是一个关于ASP.NET的代码示例,实现了数字分页功能。方法接收总记录数、每页显示数量、总页数和当前页数等参数,生成包含首页、上一页、下一页和尾页链接的分页字符串。此外,还展示了如何根据查询参数获取当前页和每页大小。
摘要由CSDN通过智能技术生成

        #region 数字分页类
        public static string strPage(int intCounts, int intPageSizes, int intPageCounts, int                   intThisPages, string strUrl)
        {
            int intCount = Convert.ToInt32(intCounts); //总记录数
            int intPageCount = Convert.ToInt32(intPageCounts); //总共页数
            int intPageSize = Convert.ToInt32(intPageSizes); //每页显示
            int intPage = 12;  //数字显示
            int intThisPage = Convert.ToInt32(intThisPages); //当前页数
            int intBeginPage = 0; //开始页数
            int intCrossPage = 0; //变换页数
            int intEndPage = 0; //结束页数
            string strPage = null; //返回值

            //string strUrl=strUrl 查询字段值

            intCrossPage = intPage / 2;
            strPage = "共 <font color=\"#056dae\">" + intCount.ToString() + "</font> 条记录 第 <font color=\"#056dae\">" + intThisPage.ToString() + "/" + intPageCount.ToString() + "</font> 页 每页 <font color=\"#056dae\">" + intPageSize.ToString() + "</font> 条 &nbsp;&nbsp;&nbsp;&nbsp;";
            if (intThisPage > 1)
            {
                strPage = strPage + "<a href=\"" + strUrl + "1\">首页</a> ";
                strPage = strPage + "<a href=\"" + strUrl + Convert.ToString(intThisPage - 1) + "\">上一页</a> ";
            }
            if (intPageCount > intPage)
            {
                if (intThisPage > intPageCount - intCrossPage)
                {
                    intBeginPage = intPageCount - intPage + 1;
                    intEndPage = intPageCount;
                }
                else
                {
                    if (intThisPage <= intPage - intCrossPage)
                    {
                        intBeginPage = 1;
                        intEndPage = intPage;
                    }
                    else
                    {
                        intBeginPage = intThisPage - intCrossPage;
                        intEndPage = intThisPage + intCrossPage;
                    }
                }
            }
            else
            {
                intBeginPage = 1;
                intEndPage = intPageCount;
            }
            if (intCount > 0)
            {

                for (int i = intBeginPage; i <= intEndPage; i++)
                {
                    if (i == intThisPage)
                    {
                        //strPage = strPage + " <font color=\"#056dae\">" + i.ToString() + "</font> ";
                        strPage = strPage + " <font color=\"red\">" + i.ToString() + "</font> ";
                    }
                    else
                    {
                        strPage = strPage + " <a href=\"" + strUrl + i.ToString() + "\" title=\"第" + i.ToString() + "页\">" + i.ToString() + "</a> ";
                    }
                }
            }
            if (intThisPage < intPageCount)
            {
                strPage = strPage + "<a href=\"" + strUrl + Convert.ToString(intThisPage + 1) + "\">下一页</a> ";
                strPage = strPage + "<a href=\"" + strUrl + intPageCount.ToString() + "\">尾页</a> ";
            }
            return strPage;
        }
        #endregion

  <asp:Literal ID="Pager" runat="server"></asp:Literal>

 pageIndex = int.Parse(Request.QueryString["pageindex"]?? pageIndex.ToString());
  pageSize = int.Parse(Request.QueryString["pagesize"]?? pageSize.ToString()) ;

int RecordCount = 0;
      DataTable lbtdt= GetPagerData(out RecordCount, ProjectName, TestType, LXR, LXDW, XMBM, ContractAmount, ContractAmount2, finishTimeFrom, finishTimeTo, xmfzr, DataEntryClerk);

             if(RecordCount % pageSize == 0)
             {
                pageCount = RecordCount / pageSize;
             }
             else
             {
                pageCount = RecordCount / pageSize + 1;
             }

            Pager.Text=Tools.strPage(RecordCount, pageSize, pageCount, pageIndex,"Project_View.aspx?"+query+ "&pagesize=15&pageindex=");

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值