zoukankan      html  css  js  c++  java
  • Asp.Net分页生成页码超链接方法

    namespace Common
    {
        public class PageLinkHelp
        {
            /// <summary>
            /// 生成分页超链接标签
            /// 使用了Bootstrap3的分页样式:首页«第380页第381页第382页第383页第384页»尾页
            /// </summary>
            /// <param name="pageIndex">当前页码(当前页索引)</param>
            /// <param name="pageCount">总页码数
            /// 总页数计算公式:
            /// 第1种.Math.Max((数据总条数 + 每页显示的数量 - 1) / 每页显示的数量, 1):
            /// var pageCount = Math.Max((count + pageSize - 1) / pageSize, 1);
            /// 第2种.(int)Math.Ceiling(数据总条数 * 1.00 / 每页显示的数量) :
            /// var pageCount = (int)Math.Ceiling(count * 1.00 / pageSize);
            /// </param>
            /// <returns>页码超链接</returns>
            public static string GetPageBar(int pageIndex, int pageCount)
            {
                if (pageCount <= 1)
                {
                    return string.Empty;
                }
                int start = (pageIndex - 2);
                if (start < 1)
                {
                    start = 1;
                }
                int end = (start + 4);
                if (end > pageCount)
                {
                    start += pageCount - end;
                    end = pageCount;
                }
                var linkStr = new System.Text.StringBuilder();
                linkStr.Append("<ul class="pagination">");
                if (pageIndex != 1)
                {
                    linkStr.Append($"<li class="page-item"><a class="page-link" href='?pageIndex={1}' >首页</a></li>");
                    linkStr.Append($"<li class="page-item"><a class="page-link" href='?pageIndex={pageIndex - 1}' >&laquo;</a></li>");
                }
                for (int i = start; i <= end; i++)
                {
                    if (i == pageIndex)
                    {
                        //active
                        //当前页
                        linkStr.Append($"<li class="page-item active"><a class="page-link" href='?pageIndex={i}' >第{i}页</a></li>");
                    }
                    else
                    {
                        linkStr.Append($"<li class="page-item"><a class="page-link" href='?pageIndex={i}' >第{i}页</a></li>");
                    }
                }
                if (pageIndex < pageCount)
                {
                    linkStr.Append($"<li class="page-item"><a class="page-link" href='?pageIndex={pageIndex + 1}' >&raquo;</a></li>");
                    linkStr.Append($"<li class="page-item"><a class="page-link" href='?pageIndex={pageCount}' >尾页</a></li>");
                }
                linkStr.Append("</ul>");
                return linkStr.ToString();
            }
        }
    }

    记录一下,方便以后用。。。感觉计算这些乱七八糟的。。。

  • 相关阅读:
    CISCO DHCP全攻略详解
    CentOS配置远程日志服务器
    CentOS下的日志切割
    CentOS日志的简单介绍
    H3C Telnet 配置
    CentOS7图形界面与命令行界面切换
    思科4506E做ehterchannel故障排查
    EtherChannel Cisco 端口聚合详解
    算法练习2之单链表求和
    Retrofit2的GsonConverterFactory.create()和RxJava2CallAdapterFactory.create()的实现过程以及执行过程
  • 原文地址:https://www.cnblogs.com/heheblog/p/net_study_20180730.html
Copyright © 2011-2022 走看看