Heim > Datenbank > MySQL-Tutorial > Hauptteil

仿百度的sql分页样式分享

WBOY
Freigeben: 2016-06-07 17:48:30
Original
1093 Leute haben es durchsucht

分页基本是每个程序都会遇到的问题.前面已经发不过sql存储过程的通用分页.这里小弟再发一个前台页面的分页显示.有点仿百度的样子.希望高手们有好的写法给予指导

 

 代码如下 复制代码

protected DataTable dtNews ;

 const int PAGE_SIZE = 7;

 protected string pagestr;

 protected string pagestring;

 protected void Page_Load(object sender, EventArgs e)

 {

     string urlParam = Request["p"] ?? string.Empty;

     int pageIndex;

    int.TryParse(urlParam.Trim(), out pageIndex);

    if (pageIndex

    {

         pageIndex = 1;

     }

//这里就是调用sql通用存储过程的方法,我把SelectPager()方法贴出来

 

 代码如下 复制代码

View Code
//QARequestionBLL就是存放Pager的类

 this.dtNews = QARequestionBLL.SelectPager(pcategory, this._CurPageIndex, _pageSize, "QDatetime", "desc", out doCount);

  pagestring = GetPageStr(doCount, PAGE_SIZE, pageIndex);

   }

 //声明一下.这里面的URLTO,是我用了重定向的方法.把他提取出来一个类了,所以href里面的连接其实就是地址后面加

 代码如下 复制代码

pageindex.(要下班了,所以就不正了,回家有事.嘿嘿....)

     //总共多少也,每页多少条,第几页

        public string GetPageStr(int total, int per, int page)

        {

            int allpage = 0;

            int next = 0;

            int pre = 0;

            int startcount = 0;

            int endcount = 0;

 

            if (page

            if (per != 0)

            {

                allpage = (total / per);

                allpage = ((total % per) != 0 ? allpage + 1 : allpage);

                allpage = (allpage == 0 ? 1 : allpage);

            }

            next = page + 1;

            pre = page - 1;

            if (startcount

            {

                startcount = 1;

            }

            if (allpage

            {

                endcount = allpage;

            }

            if (page > allpage)

            {

                page = allpage;

            }

            if (allpage>1)

            {

                pagestr = "

";

                pagestr += page > 1 ? "

" : "上一页";

                pagestr += "

";

                if (allpage > 10)

                {

                    startcount = (page + 4) > allpage ? allpage - 10 : page - 4;

                    if (page

                    {

 

                        for (int i = 1; i

                        {

                            pagestr += page == i ? "" + i + "" : "" + i + "";

                        }

                        //pagestr += "...  " + Convert.ToString(allpage - 1) + "";

                        pagestr += "..." + allpage + "";

                    }

                    else

                        if (page

                        {

                            pagestr += "  1...";

                            //pagestr += "  2...";

                            for (int i = startcount; i

                            {

                                pagestr += page == i ? "  " + i + "" : "  " + i + "";

                            }

                            //pagestr += "...  " + Convert.ToString(allpage - 1) + "";

                            pagestr += "..." + allpage + "";

                        }

                        else

                        {

                            pagestr += "  1...";

                            //pagestr += "  2...";

                            for (int i = allpage - 8; i

                            {

                                pagestr += page == i ? "  " + i + "" : "  " + i + "";

                            }

                        }

 

                }

                else

                {

                    for (int i = 1; i

                    {

                        pagestr += page == i ? "  " + i + "" : "  " + i + "";

                    }

                }

                pagestr += "

" : " 下一页";

            }

            return pagestr;

        }

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!