博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ASP.NET MVC3使用PagedList实现分页导航
阅读量:7055 次
发布时间:2019-06-28

本文共 1367 字,大约阅读时间需要 4 分钟。

九月 3, 2012

分页导航功能在Web应用中再常见不过了,本文介绍了近期项目开发过程中如何利用PagedList库实现数据条目的分页导航功能,项目其实很简单,就是实现一个简单的内容管理系统,具备增删改查的功能,采用了ASP.NET MVC3技术。

使用NuGet包管理器,具体做法:右键项目的References => Manage NuGet Packages => 搜索PagedList安装。这里需要下载两个DLL,分别是PagedList.dll和PagedList.Mvc.dll,其中PagedList适用MVC2框架及以上,它提供了简单易用的分页功能;PagedList.Mvc.dll适用于MVC3及以上,它提供了方便使用的导航功能,省去了开发人员在页面中写的大量的前端代码,有效地减少了代码量。

初次使用PagedList进行分页操作时,没有进行任何优化,简单地使用了.ToPagedList()方法,代码如下所示:

constint pageSize =15;publicActionResultIndex(int page =1){
var softwares = db.Softwares.ToList();returnView(softwares.ToPagedList(page, pageSize));}

上面的代码片段很容易理解,从数据库中取出所有数据,然后进行分页,这样做的一大弊端就是如果数据量很大的话,这种操作是十分耗时的,实践也证明了这一点,所以必须对其性能进行优化。每一次访问Index页面的时候,并不需要读取全部数据进行分页,应采取的策略是访问第几页的数据,就将此页的数据读取出来,具体代码如下所示:

softwares =(from s in db.Softwaresorderby s.SWNamedescending// order排序可以加快数据访问速度select s).Skip((page -1)* pageSize).Take(pageSize).ToList();......int totalCount = db.Softwares.Count();var softwaresAsIPagedList =newStaticPagedList
(softwares, page, pageSize, totalCount);returnView(softwaresAsIPagedList);

以上代码完成了数据分页功能且优化了数据访问性能,下面来说明分页后的导航功能,需要借助PagedList.Mvc.dll提供的相关函数,前端Index页面的代码片段如下所示:

@modelPagedList.StaticPagedList
@usingPagedList@usingPagedList.Mvc......@Html.PagedListPager((IPagedList)Model, page =>Url.Action("Index",new{
page = page }))

oK,刷新页面看看吧!

本博文参考了两篇非常不错的博文,相信对大家也会有帮助

  • (中文)
  • (英文)

转载地址:http://atool.baihongyu.com/

你可能感兴趣的文章
Java API for RESTful Web Services 2.1发布
查看>>
Visual Studio 2017 15.8第一个预览版发布,支持ARM64
查看>>
Java日志性能那些事
查看>>
Invokedynamic:Java的秘密武器
查看>>
Raffi Krikorian 为“在运行中进行架构重写”提供了指南
查看>>
Plaid.com的监控系统如何实现与9600多家金融机构的集成
查看>>
Laravel学习笔记之PHP反射(Reflection) (上)
查看>>
Build Your Own Promise
查看>>
bootstrap - form
查看>>
业务安全通用解决方案——WAF数据风控
查看>>
nginx 配置 默认网站根目录(权限问题导致403 Forbidden错误的解决方法)
查看>>
NodeJS发送邮件
查看>>
再谈Js闭包
查看>>
C++ 打造 Markdown 解析器
查看>>
nodejs微信开发---接入指南
查看>>
如何理解Kubernetes认证和授权
查看>>
1625行,解开 underscore.js 的面纱 - 第四章
查看>>
一些正则
查看>>
iOS动画编程-Layer动画[ 5 ] Animation Groups组合动画
查看>>
mysql & redis 性能测试
查看>>