/// <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();
}
详细解决方案
再来一个优秀的分页
热度:59 发布时间:2024-02-25 08:03:36.0
相关解决方案