asp.net 分页链接方法 |
本文标签:asp.net,分页链接 复制代码 代码如下: /// <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(); } |