再来一个优秀的分页

    科技2022-08-11  90

    /// <summary>         /// 返回分页页码         /// </summary>         /// <param name="pageSize">页面大小</param>         /// <param name="pageIndex">当前页</param>         /// <param name="totalCount">总记录数</param>         /// <param name="linkUrl">链接地址,__id__代表页码</param>         /// <param name="centSize">中间页码数量</param>         /// <returns></returns>         public static string OutPageList(int pageSize, int pageIndex, int totalCount, string linkUrl, int centSize)         {             //计算页数             if (totalCount < 1 || pageSize < 1)             {                 return "";             }             int pageCount = totalCount / pageSize;             if (pageCount < 1)             {                 return "";             }             if (totalCount % pageSize > 0)             {                 pageCount += 1;             }             if (pageCount <= 1)             {                 return "";             }             StringBuilder pageStr = new StringBuilder();             string pageId = "__id__";             string firstBtn = "<li><a href=\"" + ReplaceStr(linkUrl, pageId, (pageIndex - 1).ToString()) + "\">上一页</a></li>";             string lastBtn = "<li><a href=\"" + ReplaceStr(linkUrl, pageId, (pageIndex + 1).ToString()) + "\">下一页</a></li>";             string firstStr = "<li><a href=\"" + ReplaceStr(linkUrl, pageId, "1") + "\">1</a></li>";             string lastStr = "<li><a href=\"" + ReplaceStr(linkUrl, pageId, pageCount.ToString()) + "\">" + pageCount.ToString() + "</a></li>";             if (pageIndex <= 1)             {                 firstBtn = "<li><span class=\"disabled\">上一页</span><li>";             }             if (pageIndex >= pageCount)             {                 lastBtn = "<li><span class=\"disabled\">下一页</span></li>";             }             if (pageIndex == 1)             {                 firstStr = "<li><span class=\"active\">1</span></li>";             }             if (pageIndex == pageCount)             {                 lastStr = "<li><span class=\"active\">" + pageCount.ToString() + "</span></li>";             }             int firstNum = pageIndex - (centSize / 2); //中间开始的页码             if (pageIndex < centSize)                 firstNum = 2;             int lastNum = pageIndex + centSize - ((centSize / 2) + 1); //中间结束的页码             if (lastNum >= pageCount)                 lastNum = pageCount - 1;             //首页             pageStr.Append("<li><a href=\"" + ReplaceStr(linkUrl, pageId, "1") + "\">首页</a></li>");             pageStr.Append(firstBtn + firstStr);             if (pageIndex >= centSize)             {                 pageStr.Append("<li><span>...</span>\n</li>");             }             for (int i = firstNum; i <= lastNum; i++)             {                 if (i == pageIndex)                 {                     pageStr.Append("<li><span class=\"active\">" + i + "</span></li>");                 }                 else                 {                     pageStr.Append("<li><a " + (pageIndex == i ? "class=\"active\"" : "") + " href=\"" + ReplaceStr(linkUrl, pageId, i.ToString()) + "\">" + i + "</a></li>");                 }             }             if (pageCount - pageIndex > centSize - ((centSize / 2)))             {                 pageStr.Append("<li><span>...</span></li>");             }             pageStr.Append(lastStr + lastBtn);             //未页             pageStr.Append("<li><a href=\"" + ReplaceStr(linkUrl, pageId, pageCount.ToString()) + "\">末页</a></li>");             return pageStr.ToString();         }

    Processed: 0.018, SQL: 8