asp.net mvc中利用PagedList函数库实现分页,很简单,也很方便
1,利用NuGget套件安装PagedList.mvc
2,action中实现:
using PagedList;
public ActionResult GetList(int p=1)
{
var list = db.Guestbooks.ToList();
var pageData = list.ToPagedList(p, 2);//参数:页码,页码中数据个数
return View(pageData);
}
3,view中(GetList.cshtml):
@using PagedList;
@using PagedList.Mvc;
@model IEnumerable<MvcGuestBook.Models.Guestbook>
@{
ViewBag.Title = "GetList";
Layout = null;
}
<link href="~/Content/PagedList.css" rel="stylesheet" />//安装了PagedList,在Content文件夹里会有这样一个css文件,主要是空值分页的样式的
<h2>GetList</h2>
<table>
<thead><td>姓名</td><td>Email</td><td>内容</td></thead>
@foreach (var item in Model)
{
<tr><td>@item.姓名 </td><td>@item.Email </td><td>@item.内容 </td></tr>
}
</table>
@{
var data = Model as PagedList<MvcGuestBook.Models.Guestbook>;//下面的Html.PagedListPager 函数需要接受一个型为PagedList<T>的对象
}
@Html.PagedListPager(list:data,generatePageUrl:Page=>Url.Action("GetList",new{p=Page}))