8.1--分页案例学习
ASP.NET MVC中进行分页的方式有多种,可以自己写分页算法和样式,也可以使用NuGet提供的PagedList.Mvc进行分页。分页的关键思想,是将数据排序后按PageSize分成一页显示,所以涉及到两个部分的操作,一个是取出某一页的数据,另一个是显示可以切换到某一页的超链接视图。下面我们将以PageList.Mvc为例说明分页的操作。
1. 通过NuGet引用PagedList.Mvc
在安装引用PagedList.Mvc的同时会安装引用PagedList。
2.控制器数据处理
using PagedList;
public ActionResult Index(int page=1) { var passedMsg = db.Messages.Where(m => m.isPassed == true).OrderBy(m=>m.CreatedOn).ToPagedList(page,2); return View(passedMsg); }
注意将留言按照创建时间排序,并且生成ToPagedList格式数据,给出参数第几页,每页显示多少条。
3.在视图上显示
注意@model后面的声明为PagedList.IPagedList,引用命名空间PagedList.Mvc,并且引入样式表PagedList.css,最后就可以使用PagedListPager来显示每页的超链接了。显示效果如下图: