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分页使用方法的更多相关文章

  1. MvcPager 概述 MvcPager 分页示例 — 标准Ajax分页 对SEO进行优化的ajax分页 (支持asp.net mvc)

    该示例演示如何使用MvcPager最基本的Ajax分页模式. 使用AjaxHelper的Pager扩展方法来实现Ajax分页,使用Ajax分页模式时,必须至少指定MvcAjaxOptions的Upda ...

  2. MvcPager分页控件的使用

    1.引入MvcPager.dll(MvcPager分页控件:http://www.webdiyer.com/mvcpager/) 2.后台C# Controller: //Ddemo使用Webdiye ...

  3. MvcPager分页控件以适用Bootstrap

    随笔- 9  文章- 0  评论- 33  修改MvcPager分页控件以适用Bootstrap 效果(含英文版,可下载)   软件开发分页效果必不可少,对于Asp.Net MVC 而言,MvcPag ...

  4. 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% ...

  5. mysql分页优化方法

    mysql分页优化方法 今天遇到开发反应分页语句很慢,马上看一下到底是啥的分页语句 原分页语句 SELECT * FROM `tt` LIMIT , 执行这个语句需要6秒+时间 执行计划为全表扫描 在 ...

  6. Latex 算法过长 分页显示方法

    参考: Algorithm tag and page break Latex 算法过长 分页显示方法 1.引用algorithm包: 2.在\begin{document}前加上以下Latex代码: ...

  7. MySQL大数据量分页查询方法及其优化

    MySQL大数据量分页查询方法及其优化   ---方法1: 直接使用数据库提供的SQL语句---语句样式: MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N---适 ...

  8. 修改MvcPager分页控件以适用Bootstrap 效果(含英文版,可下载)

    软件开发分页效果必不可少,对于Asp.Net MVC 而言,MvcPager 是个不错的选择.请访问http://www.webdiyer.com/mvcpager/ 由于自带的分页样式不能和项目整体 ...

  9. MvcPager分页控件使用注意事项!

    初学MVC,做了个单页面应用,需要显示多个分页,并无刷新更新. 找到了MvcPager控件,非常好用,在使用ajax过程中遇到很多问题.慢慢调试和杨老师(MvcPaegr作者)请教,总于都解决了. 首 ...

随机推荐

  1. javaweb带属性的自定义标签

    带属性的自定义标签: 1.先在标签处理器中定义setter方法,建议把所有的属性类型都设置为String类型. package com.javaweb.tag; import java.io.IOEx ...

  2. 任意表格(table)实现拖动列(column)改变列大小

    直接上代码吧,原理可以看我上一篇博文.本实现基于jquery,完美实现拖动改变表格的列大小功能,只需将代码放置在你页面的底部即可(jquery必须先引入). $(function () { var i ...

  3. 无法解析 id,或者它不是字段

    解决方法:首先,看下R文件,有没有你上面的ID.没有的话,点项目-clean . 有的话,估计你是导了android里面的那个R包了,你看看你导的包有木有 “import android.R”有的话去 ...

  4. Iphone各个型号机型的详细参数,尺寸和dpr以及像素

    1.iPhone尺寸规格 2.单位inch(英吋) 1 inch = 2.54cm = 25.4mm 3.iPhone手机宽高 上表中的宽高(width/height)为手机的物理尺寸,包括显示屏和边 ...

  5. c# json数组动态字段名

    根据给定的列名动态生成json数组 List<string> cols = new List<string>() { "姓名","性别" ...

  6. base64的编码解码的一些坑

    1. //编码 value = base64encode(utf16to8(src)) //解码 value = utf8to16(base64decode(src)) 这里:base64编码之前先转 ...

  7. C++程序员必需的修养

    原文:http://www.cnblogs.com/ctoroad/archive/2006/03/24/357423.html 我总结了在用C/C++语言(主要是C语言)进行程序写作上的三十二个“修 ...

  8. 用navicat工具创建MySQL存储过程

    使用Navicat for MySQL工具创建存储过程步骤: 1. 新建函数(选择函数标签 -> 点击新建函数): 2.输入函数的参数个数.参数名.参数类型等: 3.编写存储过程:  代码如下: ...

  9. golang构造函数

    http://blog.jobbole.com/107442/?utm_source=blog.jobbole.com&utm_medium=relatedPosts https://gocn ...

  10. Linux下Apache HTTP Server 2.4.20安装

    一.创建software目录 mkdir /softwareer 二.下载apache源码包 wget http://mirror.bit.edu.cn/apache//httpd/httpd-2.4 ...