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

 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.IsPrimitive
16                  || x.PropertyType.IsValueType
17                  || (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     }

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分页使用方法,布布扣,bubuko.com

时间: 2024-10-17 19:36:28

MVCPager分页使用方法的相关文章

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

该示例演示如何使用MvcPager最基本的Ajax分页模式. 使用AjaxHelper的Pager扩展方法来实现Ajax分页,使用Ajax分页模式时,必须至少指定MvcAjaxOptions的UpdateTargetId属性,该属性值即是分页后要通过Ajax来更新的 DOM 元素的 ID. Ajax.Pager()方法返回AjaxPager对象,您可以通过Ajax.Pager()方法的重载来传递PagerOptions和MvcAjaxOptions参数,也可以通过新的AjaxPager的Opti

Python中使用flask_sqlalchemy实现分页效果方法详解

Flask-sqlalchemy是关于flask一个针对数据库管理的.本文我们将采用一个关于员工显示例子,为大家展示分页效果的实现,一起来看看吧,希望对大家学习python有所帮助. 首先,我们创建SQLALCHEMY对像db. 1 from flask import Flask, render_template,request 2 from flask_sqlalchemy import SQLAlchemy 5 6 app = Flask(__name__,static_url_path='

AspNetPager控件分页使用方法

AspNetPager控件官方下载地址:http://www.webdiyer.com/aspnetpager/ 把控件加到项目中(添加自定义控件的方法),并把它拖放到页面上 <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <asp:UpdatePanel ID="UpdatePanel1" runat="

各种数据库分页查询方法

具体实现中,根据所用数据库.数据量.实现分页方式,选择分页实现快的方式实现. 一.MYSQL分页查询方法 MYSQL分页查询主要使用其自带的limit函数,但需根据查询量来决定具体的使用方式,如只有几千或几万数据,则直接用 limit m,n方式, 如数据量较多,则要注意limit的使用方式. // limit m , n:从第 m 条数据开始,获取 n 条数据 1.数据量少的方式:select * from tablename limit m,n; // limit m , n:m 可省略,省

jQuery EasyUI datagrid实现本地分页的方法

本文实例讲述了jQuery EasyUI datagrid实现本地分页的方法.分享给大家供大家参考.具体如下: 一般分页都是后台做,前端做无论从哪方面考虑都不合适.但是有的时候还是有这种需求. 这里重点用到了pagination的监听,以及JS数组的slice方法来完成.代码如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 3

mysql limit分页优化方法分享

MySQL的优化是非常重要的.其他最常用也最需要优化的就是limit.MySQL的limit给分页带来了极大的方便,但数据量一大的时候,limit的性能就急剧下降. 同样是取10条数据 select * from yanxue8_visit limit 10000,10 和 select * from yanxue8_visit limit 0,10 就不是一个数量级别的. 网上也很多关于limit的五条优化准则,都是翻译自MySQL手册,虽然正确但不实用.今天发现一篇文章写了些关于limit优

Latex 算法过长 分页显示方法

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

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

软件开发分页效果必不可少,对于Asp.Net MVC 而言,MvcPager 是个不错的选择.请访问http://www.webdiyer.com/mvcpager/ 由于自带的分页样式不能和项目整体风格兼容,所以我们准备改写源代码,使其能够使用Bootstrap 的分页样式. 先来查看两种分页的html代码 Bootstrap 样式: 1 <ul class="pagination"> 2 <li class="disabled"><

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

初学MVC,做了个单页面应用,需要显示多个分页,并无刷新更新. 找到了MvcPager控件,非常好用,在使用ajax过程中遇到很多问题.慢慢调试和杨老师(MvcPaegr作者)请教,总于都解决了. 首先NuGet包添加上.搜索MvcPager可以找到. 控制器端必须引用 using Webdiyer.WebControls.Mvc; 后端就不多记录了,看下官方Demo差不多都理解了,主要记录下前端. <div> @Ajax.Pager(Model, new PagerOptions { Sho