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 }