MVCPager分页使用方法
public ActionResult AdminUserList(UserListModel model)
{
var pagedList = _userService.SearchAdminUsers(model.PageIndex, model.PageSize, model.Name, model.IsActive);
model.Items = new PagedList<UserListItem>(Mapper.Map<List<UserListItem>>(pagedList), pagedList.PageIndex, pagedList.PageSize, pagedList.TotalCount);
return View(model);
}
Controller
public class UserListItem
{ public Guid Id { get; set; } [Display(Name = "登录帐号")]
public string LoginId { get; set; } [Display(Name = "姓名")]
public string Name { get; set; } [Display(Name = "电子邮箱")]
public string Email { get; set; } [Display(Name = "手机号")]
public string Phone { get; set; } [Display(Name = "激活")]
public bool IsActive { get; set; } [Display(Name = "注册日期")]
public DateTime RegisterDate { get; set; } /// <summary>
/// 会员级别
/// </summary>
[Display(Name = "会员级别")]
public VIPLevel VIPLevel { get; set; }
}
public class UserListModel : BaseQueryModel
{
public UserListModel()
{
IsActive = true;
} #region User
public IPagedList<UserListItem> Items { get; set; } [Display(Name = "登录帐号")]
public string LoginId { get; set; } [Display(Name = "姓名")]
public string Name { get; set; } [Display(Name = "手机号")]
public string Phone { get; set; } [Display(Name = "激活")]
public bool IsActive { get; set; }
}
Model
public abstract class BaseQueryModel
{
public BaseQueryModel()
{
PageIndex = ;
PageSize = ;
} public int PageIndex { get; set; }
public int PageSize { get; set; } public RouteValueDictionary ToParms()
{
RouteValueDictionary dic = new RouteValueDictionary();
this.GetType().GetProperties().Where(x => x.PropertyType.IsPrimitive
|| x.PropertyType.IsValueType
|| (Nullable.GetUnderlyingType(x.PropertyType) != null && (Nullable.GetUnderlyingType(x.PropertyType).IsValueType || Nullable.GetUnderlyingType(x.PropertyType).IsPrimitive))
|| x.PropertyType == typeof(string)).ToList().ForEach(x => dic.Add(x.Name, x.GetValue(this)));
return dic;
}
}
BaseQueryModel
public IPagedList<User> SearchUsers(int pageIndex, int pageSize, string name, bool isActive)
{
var query = this._userRep.Table; if (!string.IsNullOrWhiteSpace(name))
{
query = query.Where(x => x.Name == name);
}
query = query.Where(x => x.IsActive == isActive);
query = query.Where(x => x.IsDelete == false);
query = query.Where(x => x.IsActive == isActive && x.UserType == UserType.Customer);
query = query.OrderByDescending(x => x.RegisterDate).OrderBy(x => x.Name); return new PagedList<User>(query, pageIndex, pageSize);
}
Method
引用了MVCPager,DLL地址:http://www.webdiyer.com/aspnetpager/relatedlinks/
有一部分代码是框架封装好的,大家看思路就好。
MVCPager分页使用方法的更多相关文章
- MvcPager 概述 MvcPager 分页示例 — 标准Ajax分页  对SEO进行优化的ajax分页 (支持asp.net mvc)
		该示例演示如何使用MvcPager最基本的Ajax分页模式. 使用AjaxHelper的Pager扩展方法来实现Ajax分页,使用Ajax分页模式时,必须至少指定MvcAjaxOptions的Upda ... 
- MvcPager分页控件的使用
		1.引入MvcPager.dll(MvcPager分页控件:http://www.webdiyer.com/mvcpager/) 2.后台C# Controller: //Ddemo使用Webdiye ... 
- MvcPager分页控件以适用Bootstrap
		随笔- 9 文章- 0 评论- 33 修改MvcPager分页控件以适用Bootstrap 效果(含英文版,可下载) 软件开发分页效果必不可少,对于Asp.Net MVC 而言,MvcPag ... 
- jQuery EasyUI datagrid实现本地分页的方法
		http://www.codeweblog.com/jquery-easyui-datagrid%e5%ae%9e%e7%8e%b0%e6%9c%ac%e5%9c%b0%e5%88%86%e9%a1% ... 
- mysql分页优化方法
		mysql分页优化方法 今天遇到开发反应分页语句很慢,马上看一下到底是啥的分页语句 原分页语句 SELECT * FROM `tt` LIMIT , 执行这个语句需要6秒+时间 执行计划为全表扫描 在 ... 
- Latex 算法过长 分页显示方法
		参考: Algorithm tag and page break Latex 算法过长 分页显示方法 1.引用algorithm包: 2.在\begin{document}前加上以下Latex代码: ... 
- MySQL大数据量分页查询方法及其优化
		MySQL大数据量分页查询方法及其优化 ---方法1: 直接使用数据库提供的SQL语句---语句样式: MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N---适 ... 
- 修改MvcPager分页控件以适用Bootstrap 效果(含英文版,可下载)
		软件开发分页效果必不可少,对于Asp.Net MVC 而言,MvcPager 是个不错的选择.请访问http://www.webdiyer.com/mvcpager/ 由于自带的分页样式不能和项目整体 ... 
- MvcPager分页控件使用注意事项!
		初学MVC,做了个单页面应用,需要显示多个分页,并无刷新更新. 找到了MvcPager控件,非常好用,在使用ajax过程中遇到很多问题.慢慢调试和杨老师(MvcPaegr作者)请教,总于都解决了. 首 ... 
随机推荐
- 从ExtensionLoader理解Dubbo扩展机制
			Dubbo的扩展机制是怎么实现的?最简单的回答就是@SPI. Dubbo的插件化思路来源于Java SPI. JAVA SPI 机制 SPI的全名为Service Provider Int ... 
- Python中的一些特殊函数
			阅读目录 1. 过滤函数filter 2. 映射和归并函数map/reduce 3. 装饰器@(有参数和无参数) 4. 匿名函数lamda 回到顶部 1. 过滤函数filter 定义:filter 函 ... 
- Java从入门到精通——数据库篇Mongo DB 导出,导入,备份
			一.概述 本篇博客为大家讲述一下Mongo DB是如何导入导出数据,还有就是备份数据的. 在下面操作的时候需要把Mongo DB的服务端打开才能操作. 二.导出. MongoDB的导 ... 
- [转]ggplot2用法简单介绍
			简介 ggplot2包是基于Wilkinson在<Grammar of Graphics>一书中所提出的图形语法的具体实现, 这套图形语法把绘图过程归纳为data, transformat ... 
- WINDOWS API ——CREATETOOLHELP32SNAPSHOT——查找进程
			原文:http://www.cnblogs.com/wind-net/archive/2012/10/26/2741458.html //根据进程名获取进程ID DWORD GetPidByProce ... 
- 聚合maven+spring-boot打包可执行jar
			整整搞了一天,终于解决这个问题了.这里是四个module,module之间存在依赖,打包两个可执行jar,看下最终效果吧 聚合maven+spring-boot的搭建很简单,和普通的聚合maven没有 ... 
- java面试题----IO流种类及接口方法
			java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类? Java中的流分为两种,一种是字节流,另一种是字符流,分别由四个抽象类来表示(每种流包括输入和输出两种 ... 
- Mysql 优化配置2
			服务器物理硬件的优化 来源社区,个人作为收集 在挑选硬件服务器时,我们应该从下面几个方面着重对MySQL服务器的硬件配置进行优化,也就是说将项目中的资金着重投入到如下几处: 1.磁盘寻道能力(磁盘I/ ... 
- mongodb 3.4 YUM安装
			1:配置yum源vi /etc/yum.repos.d/mongodb-org-3.4.repo加入以下内容: [mongodb-org-3.4] name=MongoDB Repository ba ... 
- onchange,onfocus ,oninput事件
			compositionstart 在输入一段需要确认的文本如拼音to汉字.语音时会触发 compositionend 在拼音选词完成.语音输入完毕时会触发 addEventListener() 方法 ... 
