/// <summary>
/// 获取分页链接
/// </summary>
/// <param name="currentPageNum">当前是第几页</param>
/// <param name="pageSize">每一页的数据大小</param>
/// <param name="total">数据库中的数据总量</param>
/// <returns></returns>
private string GetPagingLink(int currentPageNum, int pageSize, int total)
{
//如果分页的大小大于20页 则后面的标签显示成省略号
int pagingCount = 20;
int count = 0;
int pageCount = 0;
int index = 0;
//获取当前的可以显示的总页数
//如果能够整除 执行除法
if (total % pageSize == 0)
{
pageCount = total / pageSize;
}
//不能整除 则总页数+1
else
{
pageCount = total / pageSize + 1;
}
StringBuilder sb = new StringBuilder();
//显示首页信息
sb.AppendFormat("<a class='pageLink' href='?currentPageNum={0}&pageSize={1}'>首页</a> ", 1, pageSize);
//上一页
//当前页的上一页大于或者等于第0页
if ((currentPageNum - 1) >= 0)
{
index = currentPageNum - 1;
sb.AppendFormat("<a class='pageLink' href='?currentPageNum={0} &pageSize={1}'>上一页</a> ", index, pageSize);
}
//当前页的上一页小于0 返回第一页的数据
else
{
sb.AppendFormat("<a class='pageLink' href='?currentPageNum={0} &pageSize={1}'>上一页</a> ", index+1, pageSize);
}
//1,2,3,4,5,6。。。。。。
for (int i = index; i < pageCount; i++)
{
sb.AppendFormat("<a class='pageLink' href='?currentPageNum={0}&pageSize={1}'>{0}</a> ", (i + 1), pageSize);
count++;
if (count>=pagingCount)
{
break;
}
}
//下一页
//当前页的下一页小于或等于总页数
if ((currentPageNum + 1) <= pageCount)
{
sb.AppendFormat("<a class='pageLink' href='?currentPageNum={0}&pageSize={1}'>下一页</a> ", currentPageNum + 1, pageSize);
}
//当前页的下一页大于总页数 返回最后一页的数据
else
{
sb.AppendFormat("<a class='pageLink' href='?currentPageNum={0}&pageSize={1}'>下一页</a> ", pageCount, pageSize);
}
//尾页
sb.AppendFormat("<a class='pageLink' href='?currentPageNum={0}&pageSize={1}'>尾页</a> ", pageCount, pageSize);
// 第?页/共?页
sb.AppendFormat("第{0}页/共{1}页</a>", currentPageNum, pageCount);
return sb.ToString();
}