ASP.NET MVC分页功能实现:PagedList |
本文标签:ASP.NET MVC分页 PagedList 更多的权利,就意味着更多的责任 。在MVC中,我们几乎不再使用Drag and Drop来的各种控件,因此我们就不再受这些控件所提供的功能的限制,但是当然也就失去了这些控件所带来的好处和便利 。比如GridView以及它所附带的分页功能 。本文将利用LINQ的defered execution的特性来实现一个通用的分页和导航的PagedList,从而实现ASP.NET MVC分页功能 。 ASP.NET MVC分页·CONTENT 为了使PagedList能有分页和导航的功能,因此我们需要知道总共有多少行数据,需要有多少个也需要显示 。故可以定义这样一个接口 为了使这个通用的PagedList能真正的“通用”,就需要时使用泛型 。.Net已经提供了很好了一个很好的基类,我们继承它就好了,同时实现IPagedList接口 对PagedList的构造函数中的最后一句代码稍作解释: index为从0开始计算的页数,可以为Null, pageSize 为每页显示的记录数 。最后对ToList()的调用会使得这个IQueryable被执行,返回的List被加到这个PagedList中 。 ASP.NET MVC分页·Application PagedList基本完成了,该实际应用了 。在页面文件中,根据PagedList的数据,对CSS做一些设置,就可以实现分页和导航的功能 。 OK,We have done here. ASP.NET MVC分页功能实现 。 这里没想到好方法把Controller的信息加进去,只好暂时hard code了 。 |