///
/// 生成页码的html
///
/// 超链接的格式。list.ashx?pagenum={pageNum}。地址中用{pagenum}做为当前页码的占位符
/// 总数据条数
/// 每页多少条数据
/// 当前页
///
public static RawString Pager(string urlFormat, long totalSize,
long pageSize, long currentPage)
{
StringBuilder sb = new StringBuilder();
//总页数
long totalPageCount = (long)Math.Ceiling((totalSize * 1.0f) / (pageSize * 1.0f));
//当前页的前几页
long firstPage = Math.Max(currentPage - 5, 1);
//当前页的后几页
long lastPage = Math.Min(currentPage + 6, totalPageCount);
//绘制分页,首页
sb.AppendLine("
首页");
//绘制分页中间数据部分
for (long i = firstPage; i < lastPage; i++)
{
string url = urlFormat.Replace("{pageNum}", i.ToString());
if (i == currentPage) //点击后就不显示超链接
{
sb.AppendLine("
" + i + "");
}
else
{
sb.AppendLine("
" + i + "");
}
}
//显示最后一页
sb.AppendLine("
末页 ");
return new RawString(sb.ToString());
}