asp.net 分页链接方法

时间:2021-10-11 23:00:13

代码如下:


/// <summary> 
/// 分页链接 
/// </summary> 
/// <param name="pageSize"></param> 
/// <param name="recordCount"></param> 
/// <param name="currentPage"></param> 
/// <param name="prev">当前页前面显示的数量</param> 
/// <param name="next">当前页后面显示的数量</param> 
/// <returns></returns> 
public string PageLink(int pageSize, int recordCount, int currentPage, int prev, int next) 

int pageCount = recordCount % pageSize == 0 ? (recordCount / pageSize) : ((int)Math.Ceiling((double)recordCount / pageSize)); 
StringBuilder sb = new StringBuilder(); 
if (currentPage > 1 && recordCount > 1) 

sb.Append("<a href=\"?page="); 
sb.Append((currentPage - 1).ToString()); 
sb.Append("\">前一页</a>  "); 

if (currentPage > prev + 1) 
sb.Append("<a href=\"?page=1\">1</a> ... "); 
if (currentPage < prev) 
next = next + prev - currentPage + 1; 
if (next > pageCount - currentPage) 
prev = prev + next - (pageCount - currentPage); 
for (int i = 1; i <= pageCount; i++) 

if (i == currentPage) 

sb.Append("<a href=\"?page=" + i + "\" class=\"current\" ><font color=\"red\">" + i + "</font></a>  "); 

else 

if (i > (currentPage - prev - 1) && i < (currentPage + next + 1)) 

sb.Append("<a href=\"?page=" + i + "\">" + i + "</a>  "); 



if (currentPage < pageCount - next) 
sb.Append("... <a href=\"?page=" + pageCount.ToString() + "\">" + pageCount.ToString() + "</a>"); 
if (currentPage < pageCount) 
sb.Append("  <a href=\"?page=" + (currentPage + 1).ToString() + "\">后一页</a>"); 
return sb.ToString();