• 简单分页


    代码

        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();
            }
        }
  • 相关阅读:
    Redis最佳实践:7个维度+43条使用规范,带你彻底玩转Redis | 附实践清单
    laravel生命周期
    日志写入
    商城表设计
    10个你不一定知道的PHP内置函数
    PHP函数详解:call_user_func()使用方法
    Dingo与JWT的使用
    商城-会员与用户的数据表设计
    MVVM模式
    vue面试题
  • 原文地址:https://www.cnblogs.com/kikyoqiang/p/10828386.html
Copyright © 2020-2023  润新知