MVC 3.0分页
来源:互联网 发布:淘宝数据魔方在哪里 编辑:程序博客网 时间:2024/06/07 00:34
Mvc3.0我大学的时候就接触过了,最近没什么事,就研究了一下
我个觉得MVc入门门槛比Asp.net 要高一些,但后台操作比较方便,尤其用EF后今天我遇到了一个很大的问题,就是Mvc分页纠结了很长时间,找来打去,还是打到了这个样的代码,也以拿出来大家一起分享一下,这样大家在用的时候就不用很费力气的去找了,哈哈,喜欢技术,就要去挑战,
意点:扩展方法必须是静态方法,所在的类必须是静态类,所在的命名空间改成System.Web.MVC则能省略页面中必须添加命名空间的约束。 //主要就是输出分页的超级链接的标签 //自定义分页Helper扩展 public static HtmlString ShowPageNavigate(this HtmlHelper htmlHelper, int currentPage, int pageSize, int totalCount) { var redirectTo = htmlHelper.ViewContext.RequestContext.HttpContext.Request.Url.AbsolutePath; pageSize = pageSize == 0 ? 3 : pageSize; var totalPages = Math.Max((totalCount + pageSize - 1) / pageSize, 1); //总页数 var output = new StringBuilder(); if (totalPages > 1) { //if (currentPage != 1) {//处理首页连接 output.AppendFormat("<a class='pageLink' href='{0}?pageIndex=1&pageSize={1}'>首页</a> ", redirectTo, pageSize); } if (currentPage > 1) {//处理上一页的连接 output.AppendFormat("<a class='pageLink' href='{0}?pageIndex={1}&pageSize={2}'>上一页</a> ", redirectTo, currentPage - 1, pageSize); } else { // output.Append("<span class='pageLink'>上一页</span>"); } output.Append(" "); int currint = 5; for (int i = 0; i <= 10; i++) {//一共最多显示10个页码,前面5个,后面5个 if ((currentPage + i - currint) >= 1 && (currentPage + i - currint) <= totalPages) { if (currint == i) {//当前页处理 //output.Append(string.Format("[{0}]", currentPage)); output.AppendFormat("<a class='cpb' href='{0}?pageIndex={1}&pageSize={2}'>{3}</a> ", redirectTo, currentPage , pageSize, currentPage ); } else {//一般页处理 output.AppendFormat("<a class='pageLink' href='{0}?pageIndex={1}&pageSize={2}'>{3}</a> ", redirectTo, currentPage + i - currint, pageSize, currentPage + i - currint); } } output.Append(" "); } if (currentPage < totalPages) {//处理下一页的链接 output.AppendFormat("<a class='pageLink' href='{0}?pageIndex={1}&pageSize={2}'>下一页</a> ", redirectTo, currentPage + 1, pageSize); } else { //output.Append("<span class='pageLink'>下一页</span>"); } output.Append(" "); if (currentPage != totalPages) { output.AppendFormat("<a class='pageLink' href='{0}?pageIndex={1}&pageSize={2}'>末页</a> ", redirectTo, totalPages, pageSize); } output.Append(" "); } output.AppendFormat("第{0}页 / 共{1}页", currentPage, totalPages);//这个统计加不加都行 return new HtmlString(output.ToString()); }//样式部分:body{}.paginator{ font: 12px Arial, Helvetica, sans-serif; padding: 10px 20px 10px 0; margin: 0px;}.paginator a{ border: solid 1px #ccc; color: #0063dc; cursor: pointer; text-decoration: none;}.paginator a:visited{ padding: 1px 6px; border: solid 1px #ddd; background: #fff; text-decoration: none;}.paginator .cpb{ border: 1px solid #F50; font-weight: 700; color: #F50; background-color: #ffeee5;}.paginator a:hover{ border: solid 1px #F50; color: #f60; text-decoration: none;}.paginator a, .paginator a:visited, .paginator .cpb, .paginator a:hover{ float: left; height: 16px; line-height: 16px; min-width: 10px; _width: 10px; margin-right: 5px; text-align: center; white-space: nowrap; font-size: 12px; font-family: Arial,SimSun; padding: 0 3px;}
- MVC 3.0分页
- MVC 分页
- MVC分页
- MVC分页
- MVC分页
- MVC分页
- mvc分页
- MVC 分页
- 分页控件-Jquery-MVC
- MVC MvcPager Ajax分页
- MVC MvcPager 普通分页
- spring mvc 分页
- mvc中分页
- MVC 自动分页控件
- 【MVC分页】页码
- spring mvc 分页
- asp.net mvc 分页
- MVC分页的处理
- WebView.loadUrl()在真机环境中执行即报错的问题
- 一道著名外企面试题的抽丝剥茧
- 电脑系统配置使用
- RobotFrameWork(一)robotfamework(python版)及Ride在windows安装
- 为什么微软可以向安卓厂商收取专利费
- MVC 3.0分页
- mysql Cannot find or open table x/x 及解决办法
- 关于Unity 获得和使用GetComponent<MeshFilter>().mesh时的心得
- 赋值运算符
- Mysql存储过程
- 【Android动画】之Frame动画
- 从两道经典试题谈C/C++中联合体(union)的使用
- Mat
- C/C++结构体的一个高级特性――指定成员的位数