• 自己写的分页函数


    using System;
    using System.Collections.Generic;
    using System.Text;

    namespace Store.Common
    {
        public class Pager
        {
            #region 生成分页控件
            /// <summary>
            /// 获取分页码
            /// </summary>
            /// <param name="PageUrl">当前请求的原始url,有时候会用到传有参数的页,下一步开始开发适合所有的页面分页</param>
            /// <param name="TotalCountRecord">需要显示的总记录数</param>
            /// <param name="PageItem">每页需要显示的记录数</param>
            /// <param name="CurrentPage">当前页码</param>
            /// <param name="Pagenums">界面需要显示多少页码</param>
            /// <returns>返回显示在页面上的分页控件</returns>
            /// 说明:用户可以根据自己的需要为页码间添加分隔符,可以控制选中页的页码样式
            /// 创建者:蔡万国
            /// 修改时间;2007-9-30
            public StringBuilder MyPage(string PageUrl, int TotalCountRecord, int PageItem, int CurrentPage, int Pagenums)
            {

                //偏移量
                int LeftNum = (int)Math.Ceiling((double)(Pagenums) / 2);
                int Step = LeftNum + 1;
                int RightNum = Pagenums - LeftNum - 1;
                //string PageUrl = Request.FilePath;
                //一共有多少页
                int PageCount = (int)Math.Ceiling((double)(TotalCountRecord) / PageItem);
                StringBuilder OutPut = new StringBuilder();
                //选中的页大于1就显示上一页
                //if (CurrentPage > 1)
                //{
                //    OutPut.Append("<a href='");
                //    OutPut.Append(PageUrl);
                //    OutPut.Append("&&page=");
                //    OutPut.Append(CurrentPage - 1);
                //    OutPut.Append("'>上一页</a>");
                //}

                //如果页数小于10就只输出当前的10以内的标号
                if (PageCount < Pagenums)
                {
                    for (int i = 1; i <= PageCount; i++)
                    {
                        if (i == CurrentPage)
                        {
                            //OutPut.Append("<font>");//控制控制选中页的页码样式
                            //OutPut.Append("  ");//控制控制选中页的页码样式
                            OutPut.Append(i.ToString());
                            //OutPut.Append("  ");//控制控制选中页的页码样式
                            //OutPut.Append("</font>");//控制控制选中页的页码样式
                        }
                        else
                        {
                            OutPut.Append("<a href='");
                            OutPut.Append(PageUrl);
                            OutPut.Append("&page=");
                            OutPut.Append(i.ToString());
                            OutPut.Append("'>");
                            //OutPut.Append(" ");//添加页码间的分隔符
                            OutPut.Append(i.ToString());
                            //OutPut.Append(" ");//添加页码间的分隔符
                            OutPut.Append("</a>");
                        }
                    }

                }
                //大于10就得加上省略号
                else
                {
                    if (CurrentPage + RightNum < PageCount)//当不超过的时候
                    {
                        if (CurrentPage - Step < 1)
                        {
                            for (int i = 1; i <= Pagenums; i++)
                            {
                                if (i == CurrentPage)
                                {
                                    //OutPut.Append("<font>");//控制控制选中页的页码样式
                                    //OutPut.Append("  ");//控制控制选中页的页码样式
                                    OutPut.Append(i.ToString());
                                    //OutPut.Append("  ");//控制控制选中页的页码样式
                                    //OutPut.Append("</font>");//控制控制选中页的页码样式
                                }
                                else
                                {
                                    OutPut.Append("<a href='");
                                    OutPut.Append(PageUrl);
                                    OutPut.Append("&page=");
                                    OutPut.Append(i.ToString());
                                    OutPut.Append("'>");
                                    //OutPut.Append(" ");//添加页码间的分隔符
                                    OutPut.Append(i.ToString());
                                    //OutPut.Append(" ");//添加页码间的分隔符
                                    OutPut.Append("</a>");
                                }
                            }
                            if (PageCount > Pagenums)
                            {
                                OutPut.Append("...");
                            }
                        }

                        else
                        {
                            for (int i = CurrentPage - LeftNum; i <= CurrentPage + RightNum; i++)
                            {
                                if (i == CurrentPage)
                                {
                                    //OutPut.Append("<font>");//控制控制选中页的页码样式
                                    //OutPut.Append("  ");//控制控制选中页的页码样式
                                    OutPut.Append(i.ToString());
                                    //OutPut.Append("  ");//控制控制选中页的页码样式
                                    //OutPut.Append("</font>");//控制控制选中页的页码样式
                                }
                                else
                                {
                                    OutPut.Append("<a href='");
                                    OutPut.Append(PageUrl);
                                    OutPut.Append("&page=");
                                    OutPut.Append(i.ToString());
                                    OutPut.Append("'>");
                                    //OutPut.Append(" ");//添加页码间的分隔符
                                    OutPut.Append(i.ToString());
                                    //OutPut.Append(" ");//添加页码间的分隔符
                                    OutPut.Append("</a>");
                                }
                            }
                            if (CurrentPage + RightNum < PageCount)
                            {
                                OutPut.Append("...");
                            }
                        }
                    }
                    else//当超过的时候
                    {
                        for (int i = PageCount - Pagenums + 1; i <= PageCount; i++)
                        {
                            if (i == CurrentPage)
                            {
                                //OutPut.Append("<font>");//控制控制选中页的页码样式
                                //OutPut.Append("  ");//控制控制选中页的页码样式
                                OutPut.Append(i.ToString());
                                //OutPut.Append("  ");//控制控制选中页的页码样式
                                //OutPut.Append("</font>");//控制控制选中页的页码样式
                            }
                            else
                            {
                                OutPut.Append("<a href='");
                                OutPut.Append(PageUrl);
                                OutPut.Append("&page=");
                                OutPut.Append(i.ToString());
                                OutPut.Append("'>");
                                OutPut.Append(" ");//添加页码间的分隔符
                                OutPut.Append(i.ToString());
                                OutPut.Append(" ");//添加页码间的分隔符
                                OutPut.Append("</a>");
                            }

                        }
                    }
                }
                //if (CurrentPage < PageCount)
                //{
                //    OutPut.Append("<a href='");
                //    OutPut.Append(PageUrl);
                //    OutPut.Append("&&page=");
                //    OutPut.Append(CurrentPage + 1);
                //    OutPut.Append("'>下一页</a>");
                //}

                return OutPut;

            }
            #endregion
        }
    }

  • 相关阅读:
    CRM后期修改实体,新增货币类型字段 需要注意的问题
    CRM setValue方法日期类型字段赋值
    win10 ie11 以管理员身份运行才正常
    博客随缘更新,更多内容访问语雀知识库!
    解决Vulnhub靶机分配不到IP问题
    栈迁移原理图示
    【python】青果教务系统模拟登陆
    【二进制】CTF-Wiki PWN里面的一些练习题(Basic-ROP篇)
    2019"深思杯"山东省大学生网络安全技能大赛部分wp
    【web】docker复现环境踩坑
  • 原文地址:https://www.cnblogs.com/caiwanguo/p/932747.html
Copyright © 2020-2023  润新知