分享一个通用分页函数

功能:
1.每页设置显示9页,超过9页,点5页后的+1页显示(可以随便修改)
2.CSS样式自己可以设置
3.无任何咋代码产生,利于搜索引擎优化
4.至于性能怎么样大家可以试下

演示地址: http://www.dzswej.com/newslist_ej4.html


PagedDataSource objPDS;
......

//分页程序
        objPDS = new PagedDataSource();
        objPDS.DataSource = dtTable.DefaultView;//绑定数据源
        objPDS.AllowPaging = true;
        objPDS.PageSize =10;//分页数目
        int curPage;
        int cshi;
        int jshi;
        int zyes = Int32.Parse( objPDS.PageCount.ToString());
        this.tjixx.Text = "总共 <font color=red>" + dtTable.Rows.Count + " </font>条信息";
        this.tjixx.Text += "|共 <font color=red>" + zyes + " </font>页";
        if (Request.QueryString["Page"] != null)
        {
            if (Int32.Parse(Request.QueryString["Page"]) > zyes)
                curPage = zyes;
            else
            curPage = Int32.Parse(Request.QueryString["Page"]);
        }

        else
        {
            curPage = 1;
        }
     

        if (zyes <= 9)
        {
            cshi = 1;
            jshi = zyes;

        }
        else
        {
            if (curPage <= 5)
            {
                cshi = 1;
                jshi = 9;

            }

        else
        {

            cshi = curPage - 4;
            int jshils = curPage + 4;
            if (jshils > zyes)
                jshi = zyes;
            else
                jshi=curPage + 4;


        }
        }
        objPDS.CurrentPageIndex = curPage - 1;
        StringBuilder m_strPageInfo = new StringBuilder();
        for (int i = cshi; i <=jshi; i++)
        {
            if (i == Int32.Parse(curPage.ToString()))
                m_strPageInfo.Append(" <span class=\"dqye\"> <strong>" + i + " </strong> </span>  ");
            else
                m_strPageInfo.Append(" <span class=\"qtye\"> <strong> <a  href=\"newslist_ej" + Request.QueryString["wzcat"] + "_Page" + i + ".html\">" + i + " </a> </strong> </span> ");
        }
        this.yemsl.Text = m_strPageInfo.ToString();

        if (!objPDS.IsFirstPage)
        {


            linkPre.NavigateUrl = "newslist_ej" + Request.QueryString["wzcat"] + "_Page" + Convert.ToString(curPage - 1);
            linkPre.NavigateUrl += ".html";
        }
        if (!objPDS.IsLastPage)
        {
            linkNext.NavigateUrl = "newslist_ej" + Request.QueryString["wzcat"] + "_Page" + Convert.ToString(curPage + 1);
            linkNext.NavigateUrl += ".html";
        }
        linkFirstPage.NavigateUrl = "newslist_ej" + Request.QueryString["wzcat"] + "_Page1";
        linkFirstPage.NavigateUrl += ".html";
        linkEndPage.NavigateUrl = "newslist_ej" + Request.QueryString["wzcat"] + "_Page" + objPDS.PageCount.ToString();
        linkEndPage.NavigateUrl += ".html";
        this.DataList4.DataSource = objPDS;//绑定分页的数据
        this.DataList4.DataBind();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,关于PHP分页中的page和通用分页函数split_page()的使用以及实现原理,我可以给您一些解释和建议。 首先,page通常是指当前页码,也就是用户当前所在的页数。在分页中,我们通常需要知道当前页码以及每一页所显示的数据条数,然后根据这两个参数计算出数据的起始位置,从而进行数据的分页显示。通用分页函数split_page()则是一个可以适用于不同情境下的分页函数,它可以根据传入的参数自动计算出数据的起始位置和页码等信息,并将分页链接和页码显示等工作封装起来,方便我们在不同的页面中调用和使用。 在使用分页函数时,我们需要传入的参数通常包括数据总条数、每页显示的条数、当前页码以及分页链接等信息。分页函数则会根据这些参数计算出数据的起始位置,并生成相应的分页链接和页码显示等内容。其中,分页链接通常包括上一页、下一页、首页和末页等链接,以及一些页码链接,方便用户进行点击选择。 至于具体的实现原理,分页函数通常会通过计算总页数和当前页的位置,然后根据当前页所在的位置生成相应的分页链接和页码显示。在生成分页链接时,我们可以使用PHP中的链接生成函数,将参数传入链接中,从而生成相应的链接地址和参数。在生成页码显示时,我们通常需要根据不同的情境进行不同的处理,比如在当前页码前后加上一些省略号或者直接显示完整的页码等。 总之,分页函数是一个比较常用的功能,它可以帮助我们在不同的页面中方便地进行数据的分页显示,从而提高用户体验和数据展示效果。如果您需要在自己的项目中使用分页函数,建议可以先了解一下PHP中的分页函数实现原理和使用方法,然后根据自己的需求进行相应的定制和调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值