这是我在学习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 }