mvc分页功能的实现,asp.net core 分页

  mvc分页功能的实现,asp.net core 分页

  哈哈,这个博客的处女文啦~~

  首先声明,这个分页代码并不是出自我手哈,借用了网上的一段代码,然后加了个css,变的好看一些啦~~

  原作者忘记是谁了,实在找不到了……万分抱歉啊~~

  效果如下:

  一使用系统;

  2使用系统。集合。泛型;

  3使用系统100 . Linq

  四使用系统网页。

  5使用系统Web . com。手动音量调节

  6使用系统Web . com。选择途径

  七使用系统。文本;

  8使用系统Web . com。Mvc.Html;

  9命名空间应用程序。助手

  10 {

  11个公共静态类页面扩展

  12 {

  13/*助手分页

  14 *使用方式:%@个导入命名空间=ExpoShiep .帮手百分比

  15 * %=Html .寻呼机( page ,10,100)% */

  16 ///摘要

  17 ///分页寻呼机显示

  18////摘要

  19 ///param name=html /param

  20 ///param name=currentPageStr 标识当前页码的QueryStringKey /param

  21 ///param name=pageSize 每页显示/param

  22 ///param name=totalCount 总数据量/param

  23 ///returns /returns

  24公共静态字符串分页器(this HtmlHelper html,string currentPageStr,int pageSize,int totalCount)

  25 {

  26 var queryString=html .查看上下文。httpcontext。请求。查询字符串;

  27 int当前页面=1;//当前页

  28变量总页数=数学max((总计数pageSize-1)/pageSize,1);//总页数

  29变量字典=新系统web . com。路由。routevaluedictionary(html .查看上下文。routedata。价值观);

  30瓦输出=新系统正文。StringBuilder();

  31如果(!字符串IsNullOrEmpty(查询字符串[当前页面字符串])

  32 {//与相应的参数绑定

  33 foreach(查询字符串中的字符串键。按键)

  34 if (queryString[key]!=null!字符串IsNullOrEmpty(key))

  35 dict[key]=查询字符串[key];

  36 int .try parse(查询字符串[current pagestr],out当前页面);

  37 }

  其他38个

  39 {//获取~/Page/{页码}的页号参数

  40分钟.TryParse(dict[currentPageStr].ToString()、out当前页面);

  41 }

  42如果(当前页面=0)

  43当前页面=1;

  44如果(共一页)

  45 {

  46 if (currentPage!=1)

  47 {//处理首页连接

  48 dict[当前pagestr]=1;

  49输出追加格式(“{ 0 }”),html .RouteLink(首页,dict));

  50 }

  51如果(当前第一页)

  52 {//处理上一页的连接

  53 dict[当前页面str]=当前页面-1;

  54输出。追加(html .RouteLink(上一页,dict));

  55 }

  56其他

  57 {

  58//输出。追加(上一页);

  59 dict[当前页面str]=当前页面;

  60输出。追加(html .RouteLink(上一页,dict));

  61 }

  62输出。追加("");

  63 int电流=5;

  64 for(int I=0;i=10我)

  65 {//一共最多显示10个页码,前面5个,后面5个

  66如果(当前页I-电流)=1(当前页I-电流)=总页数)

  67如果(currint==i)

  68 {//当前页处理

  69//输出。追加(字符串格式("[{ 0 }]",当前页));

  70 dict[当前页面str]=当前页面;

  71输出追加格式( span 当前“{ 0 }/span ,当前页);

  72 }

  73其他

  74 {

  75 //一般页处理

  76 dict[current pagestr]=当前页面I-current;

  77输出。追加(html .路由链接(当前页面I-当前).ToString()、dict));

  78 }

  79产量。追加("");

  80 }

  81如果(当前总页数)

  82 {

  83 //处理下一页的链接

  84 dict[当前页面str]=当前页面1;

  85输出。追加(html .RouteLink(下一页,dict));

  86 }

  87其他

  88 {

  89//输出。追加(下一页);

  90 dict[current pagestr]=当前页面;

  91输出。追加(html .RouteLink(下一页,dict));

  92 }

  93输出。追加("");

  94 if (currentPage!=总页数)

  95 {

  96 dict[current pagestr]=总页数;

  97产量。追加(html .RouteLink(末页,dict));

  98 }

  99产量。追加("");

  100 }

  101输出追加格式(“{ 0 }/{ 1 }”,currentPage,总页数);//这个统计加不加都行

  102返回输出ToString();

  103 }

  104 }

  105 }

  复制代码

  CSS:

  1 .寻呼机

  2 {

  3字号:12px

  四边距:8px 0;

  5填充:3px 0 3px

  6文本对齐:左对齐;

  7 }

  8

  9 .寻呼机。目前的

  10 {

  11背景色:# 06c

  12边框:1px纯色# 009;

  13色:# fff

  14字体-粗细:粗体;

  15 margin-top:4px;

  16填充:3px 5px

  17文本对齐:居中;

  18 }

  19

  20 .寻呼机a

  21 {

  22保证金:4px 3px

  23边框:1px固体# 9AAFE5

  24填充:3px 5px

  25文本对齐:居中;

  26文字-装饰:无;

  27色:# 2E6AB1

  28 }

  29

  30 .寻呼机。页面输入

  31 {

  32填充:3px 0 0

  33边框:1px固体# 9AAFE5

  34文本对齐:居中;

  35文字装饰:无;

  36身高:16px

  37 30px

  38 }

  39 .寻呼机。寻呼机按钮

  40 {

  41边框:1px固体# 9AAFE5

  42光标:指针;

  43 }

  44

  复制代码

mvc分页功能的实现,asp.net core 分页