| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149 | 
							- using System;
 
- using System.Collections.Generic;
 
- using System.Linq;
 
- using System.Text;
 
- using System.Text.RegularExpressions;
 
- using System.Web;
 
- namespace CP.Common
 
- {
 
-     
 
-     
 
-     
 
-     
 
-     public class ShowPageList
 
-     {
 
-         
 
-         
 
-         
 
-         
 
-         
 
-         
 
-         
 
-         
 
-         public static string PageList(int pagesize, int page, int recordcount, string rewriter = null, bool first = true)
 
-         {
 
-             System.Text.StringBuilder sb = new System.Text.StringBuilder();
 
-             if (recordcount == 0)
 
-                 return "";
 
-             int pagecount = 0;
 
-             if (recordcount % pagesize == 0)
 
-                 pagecount = recordcount / pagesize;
 
-             else
 
-                 pagecount = recordcount / pagesize + 1;
 
-             if (first)
 
-                 sb.Append("<a href=\"" + GetLink(1, rewriter) + "\" class=\"next\">第一页</a>");
 
-             if (page > 1)
 
-                 sb.Append("<a href=\"" + GetLink((page - 1), rewriter) + "\" class=\"next\">上一页</a>");
 
-             else
 
-                 sb.Append("<a href=\"" + GetLink(1, rewriter) + "\" class=\"next\">上一页</a>");
 
-             
 
-             if (pagecount < 5)
 
-             {
 
-                 for (int i = 1; i <= pagecount; i++)
 
-                 {
 
-                     if (i != page)
 
-                         sb.Append("<a href=\"" + GetLink(i, rewriter) + "\">" + i + "</a>");
 
-                     else
 
-                         sb.Append("<a class=\"tab\">" + i + "</a>");
 
-                 }
 
-             }
 
-             else
 
-             {
 
-                 if (page < 5)
 
-                 {
 
-                     for (int i = 1; i <= 5; i++)
 
-                     {
 
-                         if (i != page)
 
-                             sb.Append("<a href=\"" + GetLink(i, rewriter) + "\">" + i + "</a>");
 
-                         else
 
-                             sb.Append("<a class=\"tab\">" + i + "</a>");
 
-                     }
 
-                 }
 
-                 else
 
-                 {
 
-                     if (page + 3 <= pagecount)
 
-                     {
 
-                         for (int i = page - 2; i < page + 2; i++)
 
-                         {
 
-                             if (i != page)
 
-                                 sb.Append("<a href=\"" + GetLink(i, rewriter) + "\">" + i + "</a>");
 
-                             else
 
-                                 sb.Append("<a class=\"tab\">" + i + "</a>");
 
-                         }
 
-                     }
 
-                     else
 
-                     {
 
-                         for (int i = pagecount - 2; i <= pagecount; i++)
 
-                         {
 
-                             if (i != page)
 
-                                 sb.Append("<a href=\"" + GetLink(i, rewriter) + "\">" + i + "</a>");
 
-                             else
 
-                                 sb.Append("<a class=\"tab\">" + i + "</a>");
 
-                         }
 
-                     }
 
-                 }
 
-             }
 
-             if (page < pagecount)
 
-                 sb.Append("<a href=\"" + GetLink((page + 1), rewriter) + "\" class=\"next\">下一页</a>");
 
-             else
 
-                 sb.Append("<a href=\"" + GetLink(pagecount, rewriter) + "\" class=\"next\">下一页</a>");
 
-             if (first)
 
-             {
 
-                 if (pagecount == 0)
 
-                     sb.Append("<a href=\"" + GetLink(1, rewriter) + "\">末尾页</a>");
 
-                 else
 
-                     sb.Append("<a href=\"" + GetLink(pagecount, rewriter) + " \" class=\"next\">末尾页</a>");
 
-             }
 
-             sb.Append("<a class=\"next\">"+page+"/" + pagecount + "</a>");
 
-             return sb.ToString();
 
-         }
 
-         private static string GetLink(int page, string rewriter)
 
-         {
 
-             
 
-             string link = string.Empty;
 
-             string url = string.Empty;
 
-             if (!string.IsNullOrEmpty(rewriter))  
 
-             {
 
-                 if (page == 1)
 
-                     url = rewriter.Replace("-{0}", "");
 
-                 else
 
-                     url = string.Format(rewriter, page);
 
-                 link = url;
 
-             }
 
-             else
 
-             {
 
-                 url = HttpContext.Current.Request.RawUrl;
 
-                 if (url.IndexOf('?') != -1)
 
-                 {
 
-                     if (page == 1)
 
-                     {
 
-                         link = Regex.Replace(url, @"[\&,\?]p=\d+", "");
 
-                     }
 
-                     else
 
-                     {
 
-                         if (url.IndexOf("p=") != -1)
 
-                             link = Regex.Replace(url, @"p=\d+", "p=" + page);
 
-                         else
 
-                             link = url + "&p=" + page;
 
-                     }
 
-                 }
 
-                 else
 
-                 {
 
-                     link = url + "?p=" + page;
 
-                 }
 
-             }
 
-             return link;
 
-         }
 
-     }
 
- }
 
 
  |