[C#] 分页查询方法1 →→→→→进入此内容的聊天室

来自 , 2019-03-17, 写在 C#, 查看 145 次.
URL http://www.code666.cn/view/03fa2f75
  1. // <summary>
  2. /// 静态 分页方法
  3. /// </summary>
  4. public static class MyHtmlHelper
  5. {
  6.         //注意点:扩展方法必须是静态方法,所在的类必须是静态类,所在的命名空间改成System.Web.MVC则能省略页面中必须添加命名空间的约束。
  7.         //主要就是输出分页的超级链接的标签
  8.         //自定义分页Helper扩展
  9.         public static HtmlString ShowPageNavigate(this HtmlHelper htmlHelper, int currentPage, int pageSize, int totalCount)
  10.         {
  11.             var redirectTo = htmlHelper.ViewContext.RequestContext.HttpContext.Request.Url.AbsolutePath;
  12.             pageSize = pageSize == 0 ? 3 : pageSize;
  13.             var totalPages = Math.Max((totalCount + pageSize - 1) / pageSize, 1); //总页数
  14.             var output = new StringBuilder();
  15.             if (totalPages > 1)
  16.             {
  17.                 //if (currentPage != 1)
  18.                 {//处理首页连接
  19.                     output.AppendFormat("<a class='pageLink' href='{0}?pageIndex=1&pageSize={1}'>首页</a> ", redirectTo, pageSize);
  20.                 }
  21.                 if (currentPage > 1)
  22.                 {//处理上一页的连接
  23.                     output.AppendFormat("<a class='pageLink' href='{0}?pageIndex={1}&pageSize={2}'>上一页</a> ", redirectTo, currentPage - 1, pageSize);
  24.                 }
  25.                 else
  26.                 {
  27.                    // output.Append("<span class='pageLink'>上一页</span>");
  28.                 }
  29.  
  30.                 output.Append(" ");
  31.                 int currint = 5;
  32.                 for (int i = 0; i <= 10; i++)
  33.                 {//一共最多显示10个页码,前面5个,后面5个
  34.                     if ((currentPage + i - currint) >= 1 && (currentPage + i - currint) <= totalPages)
  35.                     {
  36.                         if (currint == i)
  37.                         {//当前页处理
  38.                             //output.Append(string.Format("[{0}]", currentPage));
  39.                             output.AppendFormat("<a class='cpb' href='{0}?pageIndex={1}&pageSize={2}'>{3}</a> ", redirectTo, currentPage , pageSize, currentPage );
  40.                         }
  41.                         else
  42.                         {//一般页处理
  43.                             output.AppendFormat("<a class='pageLink' href='{0}?pageIndex={1}&pageSize={2}'>{3}</a> ", redirectTo, currentPage + i - currint, pageSize, currentPage + i - currint);
  44.                         }
  45.                     }
  46.                     output.Append(" ");
  47.                 }
  48.                 if (currentPage < totalPages)
  49.                 {//处理下一页的链接
  50.                     output.AppendFormat("<a class='pageLink' href='{0}?pageIndex={1}&pageSize={2}'>下一页</a> ", redirectTo, currentPage + 1, pageSize);
  51.                 }
  52.                 else
  53.                 {
  54.                     //output.Append("<span class='pageLink'>下一页</span>");
  55.                 }
  56.                 output.Append(" ");
  57.                 if (currentPage != totalPages)
  58.                 {
  59.                     output.AppendFormat("<a class='pageLink' href='{0}?pageIndex={1}&pageSize={2}'>末页</a> ", redirectTo, totalPages, pageSize);
  60.                 }
  61.                 output.Append(" ");
  62.             }
  63.             output.AppendFormat("第{0}页 / 共{1}页", currentPage, totalPages);//这个统计加不加都行
  64.  
  65.             return new HtmlString(output.ToString());
  66.         }
  67.  

回复 "分页查询方法1"

这儿你可以回复上面这条便签

captcha