分页代码

作者: 草原上的一头狼 | 来源:发表于2015-12-23 16:47 被阅读85次

    分页样式如下:


    分页效果
    public class Qtpager
    {
        /// <summary>
        /// 分页代码
        /// </summary>
        /// <param name="pagesize">每页显示条数</param>
        /// <param name="currentpage">当前页码</param>
        /// <param name="totalcount">数据总条数</param>
        /// <returns></returns>
        public static string ShowPage(int pagesize, int currentpage,int totalcount)
        {
            pagesize = pagesize <= 0 ? 15 : pagesize;//默认每页15条数据
            var totalpage = Math.Max((totalcount + pagesize - 1)/pagesize, 1);//总页数
            var output = new StringBuilder();
    
            if (totalpage <= 10)//总页数小于10,按页码全部显示
            {
                if (currentpage > totalpage)
                {
                    output.AppendFormat("<a href='?page={0}' class='current'>{0}</a>", 1);
                }
                else
                {
                    output.AppendFormat("<a href='?page={0}'>{0}</a>", 1);
                }
                for (int i = 2; i <= totalpage; i++)
                {
                    if (i == currentpage)
                    {
                        output.AppendFormat("<a href='?page={0}' class='current'>{0}</a>", i);
                    }
                    else
                    {
                        output.AppendFormat("<a href='?page={0}'>{0}</a>", i);
                    }
                }
            }
            else//总页数大于10,显示当前页的前后三页、首页、最后一页
            {
                if(currentpage<=3)
                {
                    for (int i = 1; i < currentpage; i++)
                    {
                        output.AppendFormat("<a href='?page={0}'>{0}</a>", i);
                    }
                    output.AppendFormat("<a href='?page={0}' class='current'>{0}</a>", currentpage);
                }
                else
                {
                    output.Append("<a href='?page=1'>1</a>");
                    output.Append("...");
                    output.AppendFormat("<a href='?page={0}'>{0}</a>", currentpage - 3);
                    output.AppendFormat("<a href='?page={0}'>{0}</a>", currentpage - 2);
                    output.AppendFormat("<a href='?page={0}'>{0}</a>", currentpage - 1);
                    output.AppendFormat("<a href='?page={0}' class='current'>{0}</a>", currentpage);
                }
                if (totalpage - currentpage > 3)
                {
                    output.AppendFormat("<a href='?page={0}'>{0}</a>", currentpage + 1);
                    output.AppendFormat("<a href='?page={0}'>{0}</a>", currentpage + 2);
                    output.AppendFormat("<a href='?page={0}'>{0}</a>", currentpage + 3);
                    output.Append("...");
                    output.AppendFormat("<a href='?page={0}'>{0}</a>", totalpage);
                }
                else
                {
                    for (int i = currentpage + 1; i <= totalpage; i++)
                    {
                        output.AppendFormat("<a href='?page={0}'>{0}</a>", i);
                    }
                }
            }
            return output.ToString();
        }
    }
    

    前台代码:

    <div class="pageNav">
                <div class="pagelist">
                    <a href="?page=1">1</a>...<a href="?page=3">3</a><a href="?page=4">4</a><a href="?page=5">5</a><a href="?page=6" class="current">6</a><a href="?page=7">7</a><a href="?page=8">8</a><a href="?page=9">9</a>...<a href="?page=20">20</a>
                </div>
            </div>
    

    样式表:

        .pageNav{height:40px;margin:50px auto 20px auto; width:500px; clear:both; text-align:center}
        .pagelist {text-align:center; font-size:14px}
        .pagelist a{padding:3px 6px; margin:2px;text-decoration:none; color:#777}
        .pagelist a:hover,.pagelist a.current{background-color:#ec6d1e;color: #fff !important;border-radius: 5px;}
        .pagelist a:active{color:#000}
        .pagelist span.disabled{padding:3px 6px}
    

    相关文章

      网友评论

        本文标题:分页代码

        本文链接:https://www.haomeiwen.com/subject/vxjvhttx.html