码迷,mamicode.com
首页 > Web开发 > 详细

MVC分页示例

时间:2015-04-13 18:26:46      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:

分页说明

对于大多数非枚举数据,我们都需要进行分页管理。在WEBFORM时代,有GridView,也可以配合AspNetPager很方便的实现分页,到了MVC,也同样可以使用MVCPager,作者都是同一人,感谢他为大家提供这么方便的分页组件。

使用说明

  1. 在Views文件夹的web.config里导入命名空间,否则需要在每个视图页面导入:
    <add namespace="Webdiyer.WebControls.Mvc"/>
  2. 在控制器里引用命名空间
    using Webdiyer.WebControls.Mvc;
  3. 对分页返回的IEnumerable或者IQueryable对象使用ToPagedList方法返回一个PagedList对象,并传递给视图
    PagedList<MemberEntity> list = DataAccessFactory.MemberRepository.FindPageList(m => m.MemberId != Guid.Empty, m => m.CreateTime).ToPagedList(pageindex, 5);
    return View(list);
  4. 在视图里声明model类型
    @model PagedList<MemberEntity>
  5. 循环输出分页内容后调用分页帮助方法生成分页html代码
    @Html.Pager(Model, new PagerOptions { ShowPageIndexBox = true, PageIndexBoxType = PageIndexBoxType.DropDownList, ShowGoButton = false, FirstPageRouteName = "Default" }, "Paging")

顺便写一下EF的排序

比如,我们实现了一个带排序的分页方法

        public virtual IQueryable<TEntity> FindPageList<S>(Expression<Func<TEntity, bool>> whereLambda, Expression<Func<TEntity, S>> orderLambda, bool isAsc, int page, int pageSize);

我们可以这样去调用:

DataAccessFactory.MemberRepository.FindPageList(m => m.MemberId != Guid.Empty, m => m.CreateTime);

注意,其中第二个参数就是上面的S,排序参数。

MVC分页示例

标签:

原文地址:http://www.cnblogs.com/shya/p/4422666.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!