MVC中的自定义标签分页控件,仅供大家学习!!

 1    public static HtmlString ShowPageNavigate(this HtmlHelper htmlHelper, int currentPage, int pageSize, int totalCount)
 2         {
 3             var redirectTo = htmlHelper.ViewContext.RequestContext.HttpContext.Request.Url.AbsolutePath; //获取请求的地址
 4             pageSialPages = Math.Max((totalCount + pageSize - 1) / pageSize, 1); //总页数
 5             var outpuze = pageSize == 0 ? 3 : pageSize;
 6             var tott = new StringBuilder();
 7             if (totalPages > 1)
 8             {
 9                 //if (currentPage != 1)
10                 {//处理首页连接
11                     output.AppendFormat("<a class='pageLink' href='{0}?pageIndex=1&pageSize={1}'>首页</a> ", redirectTo, pageSize);
12                 }
13                 if (currentPage > 1)
14                 {//处理上一页的连接
15                     output.AppendFormat("<a class='pageLink' href='{0}?pageIndex={1}&pageSize={2}'>上一页</a> ", redirectTo, currentPage - 1, pageSize);
16                 }
17                 else
18                 {
19                     // output.Append("<span class='pageLink'>上一页</span>");
20                 }
21 
22                 output.Append(" ");
23                 int currint = 5;
24                 for (int i = 0; i <= 10; i++)
25                 {//一共最多显示10个页码,前面5个,后面5个
26                     if ((currentPage + i - currint) >= 1 && (currentPage + i - currint) <= totalPages)
27                     {
28                         if (currint == i)
29                         {//当前页处理
30                             //output.Append(string.Format("[{0}]", currentPage));
31                             output.AppendFormat("<a class='cpb' href='{0}?pageIndex={1}&pageSize={2}'>{3}</a> ", redirectTo, currentPage, pageSize, currentPage);
32                         }
33                         else
34                         {//一般页处理
35                             output.AppendFormat("<a class='pageLink' href='{0}?pageIndex={1}&pageSize={2}'>{3}</a> ", redirectTo, currentPage + i - currint, pageSize, currentPage + i - currint);
36                         }
37                     }
38                     output.Append(" ");
39                 }
40                 if (currentPage < totalPages)
41                 {//处理下一页的链接
42                     output.AppendFormat("<a class='pageLink' href='{0}?pageIndex={1}&pageSize={2}'>下一页</a> ", redirectTo, currentPage + 1, pageSize);
43                 }
44                 else
45                 {
46                     //output.Append("<span class='pageLink'>下一页</span>");
47                 }
48                 output.Append(" ");
49                 if (currentPage != totalPages)
50                 {
51                     output.AppendFormat("<a class='pageLink' href='{0}?pageIndex={1}&pageSize={2}'>末页</a> ", redirectTo, totalPages, pageSize);
52                 }
53                 output.Append(" ");
54             }
55             output.AppendFormat("第{0}页 / 共{1}页", currentPage, totalPages);//这个统计加不加都行
56 
57             return new HtmlString(output.ToString());
58         }
原文地址:https://www.cnblogs.com/chenyin/p/3150656.html