zoukankan      html  css  js  c++  java
  • C#自定义分页方法一


    说到分页,大多数人都是想到的数据库分页,当然那个是开发必备的知识。但是现在我要给大家介绍的是自己写个页面的分页方法,就是平时看到的列表页的“上一页”,“下一页”

    等。很久以前自己都是用的分页控件完成分页,但是很多时候,发现它并不能满足一些功能的时候,就得自己写了。废话不说了,上代码!

     1 static string First = "<li class="pagesdiv_first"><a href="{0}"></a></li>";//第一页
     2         static string FirstNo = "<li class="pagesdiv_first"><a href="javascript:void(0)"></a></li>";
     3         static string Previous = "<li class="pagesdiv_pre"><a href="{0}"></a></li>";//上一页
     4         static string PreviousNo = "<li class="pagesdiv_pre"><a href="javascript:void(0)"></a></li>";
     5         static string Middle = "<li class="pagesdiv_com"><a href="{0}">{1}</a></li>";//当前页
     6         static string MiddleNo = "<li class="pagesdiv_curr">{0}</li>";
     7         static string Next = "<li class="pagesdiv_nex"><a href="{0}"></a></li>";//下一页
     8         static string NextNo = "<li class="pagesdiv_nex"><a href="javascript:void(0)"></a></li>";
     9         static string Last = "<li class="pagesdiv_last"><a href="{0}"></a></li>";//最末页
    10         static string LastNo = "<li class="pagesdiv_last"><a href="javascript:void(0)"></a></li>";
    11         /// <summary>
    12         /// 分页方法
    13         /// </summary>
    14         /// <param name="PageIndex">页索引,1开始</param>
    15         /// <param name="PageSize">页大小</param>
    16         /// <param name="DataCount">总数据条数</param>
    17         /// <param name="Len">显示分页长度</param>
    18         /// <param name="CurrPage">当前页</param>
    19         /// <returns></returns>
    20         public static string PagingString(int PageIndex,int PageSize, int DataCount, int Len, string CurrPage)
    21         {
    22             StringBuilder PageString = new StringBuilder();
    23             //根据数据总条数和每页显示条数,计算出列表页数量
    24             int PageCount = DataCount % PageSize == 0 ? (DataCount / PageSize) : (DataCount / PageSize + 1);
    25             if (PageIndex <= 0)
    26                 PageIndex = 1;
    27             if (PageIndex > PageCount)
    28                 PageIndex = PageCount;
    29 
    30             int In = (PageIndex - 1) / Len;
    31 
    32             //每一页的第一个编号
    33             int L = In * Len + 1;
    34             //每一页的最后一个编号
    35             int Lent = PageCount >= (L + Len - 1) ? (L + Len - 1) : PageCount;
    36             if (PageIndex == 1)
    37             {
    38                 PageString.AppendFormat(FirstNo, 1);
    39                 PageString.Append(PreviousNo);
    40             }
    41             else
    42             {
    43                 PageString.AppendFormat(First, string.Format(CurrPage, 1));
    44                 PageString.AppendFormat(Previous, string.Format(CurrPage, (PageIndex - 1)));
    45             }
    46 
    47             if (PageIndex == PageCount)
    48             {
    49                 if (PageCount % Len == 0)
    50                     L = PageCount - (Len - 1);
    51                 else
    52                     L = PageCount - (PageCount % Len - 1);
    53                 for (int i = L; i <= PageCount; i++)
    54                 {
    55                     if (PageIndex == i)
    56                         PageString.AppendFormat(MiddleNo, i);
    57                     else
    58                         PageString.AppendFormat(Middle, string.Format(CurrPage, i), i);
    59                 }
    60             }
    61             else
    62             {
    63                 for (int i = L; i <= Lent; i++)
    64                 {
    65                     if (PageIndex == i)
    66                         PageString.AppendFormat(MiddleNo, i);
    67                     else
    68                         PageString.AppendFormat(Middle, string.Format(CurrPage, i), i);
    69                 }
    70             }
    71 
    72 
    73             if (PageIndex == PageCount)
    74             {
    75                 PageString.AppendFormat(NextNo);
    76                 PageString.AppendFormat(LastNo);
    77             }
    78             else//最后一页的分页列表
    79             {
    80                 PageString.AppendFormat(Next, string.Format(CurrPage, (PageIndex + 1)));
    81                 PageString.AppendFormat(Last, string.Format(CurrPage, PageCount));
    82             }
    83             return PageString.ToString();
    84         } 
    View Code
  • 相关阅读:
    js--script和link中的 integrity 属性
    html之aria-hidden="true"
    S-HR之导入模板校验非当天变更限制
    拆分字符串
    S-HR之变动操作,变动原因,变动类型/离职操作,离职原因,离职类型
    mysql数学函数
    html页面引入
    springboot之server属性
    【开发工具】-Idea代码提示忽略大小写
    【个人提升】-怎样获得技术的成长(转)
  • 原文地址:https://www.cnblogs.com/tomsense/p/3240483.html
Copyright © 2011-2022 走看看