/// <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(); }