mvc.net分页查询案例——PagerExtension
来源:互联网 发布:防范网络诈骗标语 编辑:程序博客网 时间:2024/06/05 18:35
PagerExtension:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Web.Mvc.Html;using System.Web.Routing;namespace System.Web.Mvc{ public static class PagerExtension { public static string Pager<T>(this HtmlHelper html, PagedList<T> data) { //数字导航的开始数字 int start = (data.PageIndex - 5) >= 1 ? (data.PageIndex - 5) : 1; //数字导航的结束数字 int end = (data.TotalPages - start) > 10 ? start + 10 : data.TotalPages; //路由数据 RouteValueDictionary vs = html.ViewContext.RouteData.Values; //URL数据 var queryString = html.ViewContext.HttpContext.Request.QueryString; //合并URL数据 foreach (string key in queryString.Keys) if (queryString[key] != null && !string.IsNullOrEmpty(key)) vs[key] = queryString[key]; //合并表单数据 var FormString = html.ViewContext.HttpContext.Request.Form; foreach (string key in FormString.Keys) vs[key] = FormString[key]; //输出分页Html var builder = new StringBuilder(); builder.AppendFormat("<div class=\"mvc_pager\">"); //显示首页和上页 if (data.HasPreviousPage) { vs["pageIndex"] = 1; builder.Append(LinkExtensions.ActionLink(html, "首页", vs["action"].ToString(), vs)); vs["pageIndex"] = data.PageIndex - 1; builder.Append(LinkExtensions.ActionLink(html, "上页", vs["action"].ToString(), vs)); } //显示数字页码 for (int i = start; i <= end; i++) { vs["pageIndex"] = i; if (i == data.PageIndex) { builder.Append("<font class='thispagethis'>" + i.ToString() + "</font>"); } else { builder.Append(LinkExtensions.ActionLink(html, i.ToString(), vs["action"].ToString(), vs)); } } //显示下页和末页 if (data.HasNextPage) { vs["pageIndex"] = data.PageIndex + 1; builder.Append(LinkExtensions.ActionLink(html, "下页", vs["action"].ToString(), vs)); vs["pageIndex"] = data.TotalPages; builder.Append(LinkExtensions.ActionLink(html, "末页", vs["action"].ToString(), vs)); } builder.Append("共" + data.TotalCount + "条 第" + data.PageIndex + "页/共" + data.TotalPages + "页 </div>"); return builder.ToString(); } }}
阅读全文
0 0
- mvc.net分页查询案例——PagerExtension
- mvc.net分页查询案例——mvc-paper.css
- mvc.net分页查询案例——PagedList
- mvc.net分页查询案例——DLL数据访问层(HouseDLL.cs)
- mvc.net分页查询案例——实体层(HouseModel.cs)
- mvc.net分页查询案例——业务逻辑层BLL(HouseBLL.cs)
- mvc.net分页查询案例——控制器(HomeController.cs)
- mvc.net分页查询案例——前台页面(Index.aspx)
- ASP.NET MVC案例—拦截器
- 小案例——用MVC实现查询学生功能
- 分页查询综合案例
- 分页查询案例
- ASP.NET MVC案例教程——拦截器 Filter
- ASP.NET MVC案例教程(基于ASP.NET MVC beta)——第三篇:ASP.NET MVC全局观
- ASP.NET MVC案例教程(基于ASP.NET MVC beta)——第七篇:闲话ASP.NET MVC
- ASP.NET MVC案例教程(基于ASP.NET MVC beta)——第三篇:ASP.NET MVC全局观
- ASP.NET MVC案例教程(基于ASP.NET MVC beta)——第三篇:ASP.NET MVC全局观
- ASP.NET MVC案例教程(基于ASP.NET MVC beta)——第七篇:闲话ASP.NET MVC
- C+++二进制信号量(1)
- 数据字典和控制文件
- care your hair
- mvc.net分页查询案例——PagedList
- spring-boot问题1:搭建spring-boot项目报错 Error parsing lifecycle processing instructions
- mvc.net分页查询案例——PagerExtension
- python复习笔记
- FZUOJ 2214
- DAY34 多态与多态性、绑定方法和非绑定方法
- 人脸对齐
- mvc.net分页查询案例——mvc-paper.css
- HTML+CSS编写静态网站-28 调整标题和导航
- 不破楼兰终不还
- ORACLE回收站机制介绍