MyHtmlPageExt分页扩展方法
来源:互联网 发布:淘宝怎么宝贝发布不了 编辑:程序博客网 时间:2024/05/17 23:18
HtmlHelper的扩展:注意点:扩展方法必须是静态方法,所在的类必须是静态类,所在的命名空间改成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;}
0 0
- MyHtmlPageExt分页扩展方法
- HtmlHelper的扩展分页方法
- NHibernate扩展方法(二) --查询分页
- Yii2分页的使用及其扩展方法详解
- 扩展GridView分页功能
- php分页类扩展
- Linux分页 物理地址扩展
- 扩展方法
- 扩展方法
- 扩展方法
- 扩展方法
- 扩展方法
- 扩展方法
- 扩展方法
- 扩展方法
- 扩展方法
- 扩展方法
- 扩展方法
- JQValidate校验参数使用说明
- TFS的常用命令
- android4.0 USB Camera实例(三)UVC
- BeagleBone Black 之 TFTP 的搭建配置
- centos下安装中文输入法
- MyHtmlPageExt分页扩展方法
- Android开发之Animation 4种动画效果
- sql的while
- C# 连接SQL Server数据库的几种方式--server+data source等方式
- JavaScript的原生引用类型
- jquery制作折叠式菜单(Accordion)
- 使用openssl实现md5加密
- Jquery.datatables 学习笔记之综述
- 【C语言复习(六)】隐式类型转换相关分析