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
复制代码