笙默考试管理系统- HttpPages展示
创始人
2024-05-20 10:39:27
0次

 public static class HttpPages
    {
        ///


        /// 使用扩展方法进行分页
        ///

        ///
        ///
        ///
        ///
         public static MvcHtmlString Pager(this HtmlHelper html, PageList date)
        {
            //开始数字
            int start = (date.PageIndex - 5) >= 1 ? (date.PageIndex - 5) : 1;
            //结束数字
            int end = (date.TotalPage - start) >= 10 ? start + 10 : (date.TotalPage - start);
            //路由数据
            var vs = html.ViewContext.RouteData.Values;
            //URL数据
            var queryString = html.ViewContext.HttpContext.Request.QueryString;
            //合并URL数据
            foreach (string key in queryString)
            {
                if (!string.IsNullOrEmpty(key)) vs[key] = queryString[key];
            }
            var formString = html.ViewContext.HttpContext.Request.QueryString;
            foreach (string key in formString)
            {
                if (!string.IsNullOrEmpty(key)) vs[key] = formString[key];
            }
            var str = new StringBuilder();
            var actionName = vs["action"].ToString();
            //显示首页和上页
            if (date.HasPreviousPage)
            {
                vs["pageIndex"] =1;
                str.AppendFormat("
  • {0}
  • ",html.ActionLink("首页", actionName, vs));
                    vs["pageInde"] = date.PageIndex - 1;
                    str.AppendFormat("
  • {0}
  • ", html.ActionLink("上页", actionName, vs));
                }
                //显示数字页码
                for (int i = start ; i < end; i++)
                {
                    vs["pageIndex"]=i;
                    if (date.PageIndex == i)
                    {
                        str.AppendFormat("
  • {0}
  • ", html.ActionLink(i.ToString(), actionName, vs));


                    }
                    else
                    {
                        str.AppendFormat("

  • {0}
  • ", html.ActionLink(i.ToString(), actionName, vs));
                    }
                }
                //显示下页和尾页
                if (date.HasNextPage)
                {
                    vs["pageIndex"] = date.PageIndex+1;
                    str.AppendFormat("
  • {0}
  • ", html.ActionLink("下一页", actionName, vs));
                    vs["pageInde"] = date.TotalPage;
                    str.AppendFormat("
  • {0}
  • ", html.ActionLink("尾页", actionName, vs));
                }
                return MvcHtmlString.Create(str.ToString());
            }
        
        }
    }
     

    相关内容

    热门资讯

    前端-session、jwt 目录:   (1)session (2&#x...
    linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
    关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
    前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
    nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
    JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
    无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
    fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
    常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
    <C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...