zoukankan      html  css  js  c++  java
  • 简单分页

    代码

        public class Pager
        {
            #region property
            /// <summary>
            /// 每一页的数据条数
            /// </summary>
            public int PageSize { get; set; }
            /// <summary>
            /// 总数据条数
            /// </summary>
            public int TotalCount { get; set; }
            /// <summary>
            /// 最多显示的页码数
            /// </summary>
            public int MaxPagerCount { get; set; }
            /// <summary>
            /// 当前页(从1开始)
            /// </summary>
            public int PageIndex { get; set; }
            /// <summary>
            /// 拼接Html链接的格式,约定页码占位符{pn}
            /// 例如: "/Role/List?pageIndex={pn}"
            /// </summary>
            public string UrlPattern { get; set; }
            /// <summary>
            /// 当前页码的样式名称
            /// </summary>
            public string CurrentPageClassName { get; set; } 
            #endregion
    
            public string GetPagerHtml()
            {
                if (TotalCount <= PageSize)
                   return null;
                
                StringBuilder sb = new StringBuilder();
                //ToDo:上一页,下一页,首页,末页 ,跳转页
                //总页数
                int pageCount = (int)Math.Ceiling(TotalCount * 1.0f / PageSize);
                //显示页码的 起始 页码
                int startPageIndex = Math.Max(1, PageIndex - MaxPagerCount / 2);
                //显示页码的 结束 页码
                int endPageIndex = Math.Min(pageCount, startPageIndex + MaxPagerCount - 1);
    
                sb.Append("<ul>");
                for (int i = startPageIndex; i <= endPageIndex; i++)
                {
                    if (i == PageIndex)
                    {
                        sb.AppendFormat("<li class='{0}'>{1}</li>", CurrentPageClassName, i);
                    }
                    else
                    {
                        string href = UrlPattern.Replace("{pn}", i.ToString());
                        sb.AppendFormat("<li><a href='{0}'>{1}</a></li>", href, i);
                    }
                }
                sb.Append("</ul>");
                return sb.ToString();
            }
        }
  • 相关阅读:
    CCS的一些问题
    SignalTapII新特性Storage Qualification
    信号发生器输出幅值与输出阻抗的关系
    关于print函数的一些细节问题探讨
    hp3020 打印机驱动完全卸载方法
    【转】Ruby Selenium 测试
    [nodejs]CoffeeScript里实现Mixin
    [Ruby]ARGF的使用
    【Groovy】使用Maven集成Groovy代码
    [nodejs]optimist库
  • 原文地址:https://www.cnblogs.com/kikyoqiang/p/10828386.html
Copyright © 2011-2022 走看看