zoukankan      html  css  js  c++  java
  • MVC分页示例

    分页说明

    对于大多数非枚举数据,我们都需要进行分页管理。在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,排序参数。

  • 相关阅读:
    第一章、web应用安全概论--web应用系统介绍--TCP/IP协议
    IIS配置导入导出
    shell习题第10题:打印每个单词的字数
    腾讯云的对象存储COS
    shell习题第9题:sed的常用用法
    shell习题第8题:监控nginx的502状态
    shell习题第7题:备份数据库
    shell习题第6题:监听80端口
    Python的math模块
    Python模块
  • 原文地址:https://www.cnblogs.com/shya/p/4422666.html
Copyright © 2011-2022 走看看