zoukankan      html  css  js  c++  java
  • .net mvc 分页

     1         public static MvcHtmlString PageControl(this HtmlHelper html, PageData page)
     2         {
     3             if (page == null || page.totalpage == 0)
     4                 return MvcHtmlString.Create(string.Empty);
     5 
     6             page.pageindex = page.pageindex < 1 ? 1 : page.pageindex;
     7             string url = HttpContext.Current.Request.Url.ToString();
     8             if (url.IndexOf('#') > -1)
     9                 url = url.Substring(0, url.IndexOf('#'));
    10 
    11             StringBuilder sb = new StringBuilder();
    12             sb.Append("<div class='paging-toolbar'>");
    13             sb.Append("<ul class='pagination'>");
    14             #region 首页
    15             if (page.totalpage > 1)
    16                 sb.Append("<li><a href='" + GetUrl(url, 1) + "'>首页</a></li>");
    17             #endregion
    18 
    19             #region 上一页
    20             if (page.pageindex > 1)
    21                 sb.Append("<li><a href='" + GetUrl(url, page.pageindex - 1) + "'>上一页</a></li>");
    22             #endregion
    23 
    24             #region 中间和当前页
    25             var half = page.count % 2 == 0 ? page.count / 2 : page.count / 2 + 1; // 展示页一半
    26             var leng = page.count;
    27             if (page.count > page.totalpage) leng = page.totalpage;
    28 
    29             if (page.pageindex > page.totalpage - leng + half)
    30             {
    31                 for (int i = page.totalpage - leng + 1; i <= page.totalpage; i++)
    32                 {
    33                     if (i == page.pageindex)
    34                     {
    35                         sb.Append("<li class='active'><a href='" + GetUrl(url, page.pageindex) + "'>" + page.pageindex + "</a></li>");
    36                     }
    37                     else
    38                     {
    39                         sb.Append("<li><a href='" + GetUrl(url, i) + "'>" + i + "</a></li>");
    40                     }
    41                 }
    42             }
    43             else
    44             {
    45                 for (int i = 1; i <= leng; i++)
    46                 {
    47                     if (i == half)
    48                     {
    49                         sb.Append("<li class='active'><a href='" + GetUrl(url, page.pageindex) + "'>" + page.pageindex + "</a></li>");
    50                     }
    51                     else
    52                     {
    53                         var p = page.pageindex - half + i;
    54                         if (p > 0)
    55                             sb.Append("<li><a href='" + GetUrl(url, p) + "'>" + p + "</a></li>");
    56                         else
    57                             leng += 1;
    58                     }
    59                 }
    60             }
    64             #endregion
    65 
    66             #region 下一页
    67             if (page.pageindex < page.totalpage)
    68                 sb.Append("<li><a href='" + GetUrl(url, page.pageindex < 2 ? 2 : page.pageindex + 1) + "'>下一页</a></li>");
    69             #endregion
    70 
    71             #region 末页
    72             if (page.totalpage > 1)
    73                 sb.Append("<li><a href='" + GetUrl(url, page.totalpage) + "'>末页</a></li>");
    74             #endregion
    75 
    76             sb.Append("</ul>");
    77             sb.Append("</div>");
    78 
    79             return MvcHtmlString.Create(sb.ToString());
    80         }
     1     public class PageData
     2     {
     3         /// <summary>
     4         /// 展示的页数
     5         /// </summary>
     6         public int count { get; set; }
     7 
     8         /// <summary>
     9         /// 当前页
    10         /// </summary>
    11         public int pageindex { get; set; }
    12 
    13         /// <summary>
    14         /// 总页数
    15         /// </summary>
    16         public int totalpage { get; set; }
    17 
    18         /// <summary>
    19         /// 总条数
    20         /// </summary>
    21         public int totalrecord { get; set; }
    22     }
  • 相关阅读:
    Spring MVC 核心组件详解
    Spring MVC 入门就这一篇
    Spring 事务解决方案
    【UGUI源码分析】Unity遮罩之Mask详细解读
    游戏开发中不同时区下的时间问题
    ARTS第十三周(阅读Tomcat源码)
    Win10 电脑安装.NET低版本提示“这台计算机中已经安装了 .NET Framwork 4.6.2或版本更高的更新”问题
    Dynamics 365 Setup 提示SqlServer 存在
    Dynamics CRM "Verification of prerequisites for Domain Controller promotion failed. Certificate Server is installed."
    Dynamics CRM
  • 原文地址:https://www.cnblogs.com/foggy2330/p/10265247.html
Copyright © 2011-2022 走看看