码迷,mamicode.com
首页 > Web开发 > 详细

ASP.NET MVC使用HTML辅助器实现分页

时间:2018-07-30 14:51:27      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:mvc   return   start   链接   ddc   fun   .net   help   pen   

在mvc中可以利用扩展方法添加HTML辅助器方法实现分页,这样就可以方便的实现分页代码的复用,代码如下

 1    public static MvcHtmlString PageLinks(this HtmlHelper html, int curPage, int totalPage, Func<int, string> pageUrl)
 2         {
 3             StringBuilder result = new StringBuilder();
 4             int start = 1, end = totalPage;
 5             start = curPage - 5 < 1 ? 1 : curPage - 5;
 6             end = curPage + 5 > totalPage ? totalPage : curPage + 5;
 7 
 8             if (curPage > 1)
 9             {
10                 TagBuilder prev = new TagBuilder("a");
11                 prev.MergeAttribute("href", pageUrl(curPage - 1));
12                 prev.InnerHtml = "<";
13                 result.Append(prev.ToString());
14             }
15 
16 
17             for (int i = start; i <= end; i++)
18             {
19                 TagBuilder tag = new TagBuilder("a");             
20                 tag.InnerHtml = i.ToString();
21                 if (i != curPage)
22                 {
23                     tag.MergeAttribute("href", pageUrl(i));                  
24                 }
25                 else
26                 {
27                     tag.MergeAttribute("href", "javascript:;");                  
28                     tag.AddCssClass("active");
29                 }
30                 result.Append(tag.ToString());
31             }
32 
33             if (curPage < totalPage)
34             {
35                 TagBuilder next = new TagBuilder("a");
36                 next.MergeAttribute("href", pageUrl(curPage - 1));
37                 next.InnerHtml = ">";
38                 result.Append(next.ToString());
39             }
40 
41 
42             return MvcHtmlString.Create(result.ToString());
43         }

添加以上代码后,这样在视图中创建分页链接时只需要简单的一行代码即可,如下所示,page为当前页,totalpage为总页数,第三个参数为生成的代码链接

@Html.PageLinks(page, totalPage, x => Url.Action("action", new { page=x;}))

 

ASP.NET MVC使用HTML辅助器实现分页

标签:mvc   return   start   链接   ddc   fun   .net   help   pen   

原文地址:https://www.cnblogs.com/xiaoxiuyuan/p/9390145.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!