首页 > 代码库 > MVCPager分页使用方法
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); }
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; } }
1 public abstract class BaseQueryModel 2 { 3 public BaseQueryModel() 4 { 5 PageIndex = 0; 6 PageSize = 20; 7 } 8 9 public int PageIndex { get; set; }10 public int PageSize { get; set; }11 12 public RouteValueDictionary ToParms()13 {14 RouteValueDictionary dic = new RouteValueDictionary();15 this.GetType().GetProperties().Where(x => x.PropertyType.IsPrimitive16 || x.PropertyType.IsValueType17 || (Nullable.GetUnderlyingType(x.PropertyType) != null && (Nullable.GetUnderlyingType(x.PropertyType).IsValueType || Nullable.GetUnderlyingType(x.PropertyType).IsPrimitive))18 || x.PropertyType == typeof(string)).ToList().ForEach(x => dic.Add(x.Name, x.GetValue(this)));19 return dic;20 }21 }
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); }
引用了MVCPager,DLL地址:http://www.webdiyer.com/aspnetpager/relatedlinks/
有一部分代码是框架封装好的,大家看思路就好。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。