MVC分页示例
分页说明
对于大多数非枚举数据,我们都需要进行分页管理。在WEBFORM时代,有GridView,也可以配合AspNetPager很方便的实现分页,到了MVC,也同样可以使用MVCPager,作者都是同一人,感谢他为大家提供这么方便的分页组件。
使用说明
- 在Views文件夹的web.config里导入命名空间,否则需要在每个视图页面导入:
<add namespace="Webdiyer.WebControls.Mvc"/>
- 在控制器里引用命名空间
using Webdiyer.WebControls.Mvc;
- 对分页返回的IEnumerable或者IQueryable对象使用ToPagedList方法返回一个PagedList对象,并传递给视图
PagedList<MemberEntity> list = DataAccessFactory.MemberRepository.FindPageList(m => m.MemberId != Guid.Empty, m => m.CreateTime).ToPagedList(pageindex, 5); return View(list);
- 在视图里声明model类型
@model PagedList<MemberEntity>
- 循环输出分页内容后调用分页帮助方法生成分页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,排序参数。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 【非技术】说说2024年我都干了些啥