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作者)请教,总于都解决了. 首 ...
随机推荐
- Android - 内存泄漏的情况以及解决方法
[译]Android内存泄漏的八种可能(上) Android防止内存泄漏的八种方法(下). Static Activities 在类中定义了静态Activity变量,把当前运行的Activity实例赋 ...
- sql: TRIGGER
--Common Table Expressions(CTE) WITH HighSample (SampleId,SampleTitle,SampleContent) AS ( SELECT Sam ...
- JavaScript练习笔记整理·4 - 6.26
基础练习(1): 我的解答为: function getMiddle(s) { if(s.length%2 == 0) { return s.charAt(s.length/2-1)+s.charAt ...
- System.Net.Mail 邮件发送示例
前言:OA自动发送邮件的程序不好使,SQL Server 存储过程邮件发送程序好使,但是不利于标准化和维护,于是觉得是适合找些“轮子”武装一下.想起之前学习过System.Net.Mail ,于是再次 ...
- 如何在VS2010环境下编译C++程序
原文:http://blog.csdn.net/gupengnina/article/details/7441203 用 Visual Studio 编写 Visual C++ 程序的第一步是选择项目 ...
- java 从网上下载文件的几种方式
package com.github.pandafang.tool; import java.io.BufferedOutputStream; import java.io.File; import ...
- jquery mobile开发中常见的问题(转载)
1页面缩放显示问题 问题描述: 页面似乎被缩小了,屏幕太宽了. 处理方法: 在head标签内加入: <meta name="viewport" content="w ...
- Hadoop Archives档案
HDFS 并不擅长存储小文件,因为每个文件最少一个 block,每个 block 的元数据都会在 NameNode 占用内存,如果存在大量的小文件,它们会吃掉NameNode 节点的大量内存. Had ...
- mongodb 3.4复制集详解
1关闭数据库,打开三个mongodb数据库数据库实例 rs.printReplicationInfo() 2:原理 主库能够进行读写操作,一个复制集群只能有一个活跃的主库 一般情况下复制可以分为好几种 ...
- linux下安装及配置jenkins
jenkins常用的有两种安装方式: 1.直接下载war包jenkins.war,下载地址https://jenkins.io/download 直接下载 1.1.可以把war包直接部署到servle ...