1.在项目中导入PagedList.Mvc程序包 (右击 项目=>管理NuGet程序包 =>下载安装)
2.在Controller中取出数据,并转换为IPagedList<type>类型,并将队形传递给View
3.在对应的View中将数据类型改为IPagedList
4.在View中加上分页控件,并处理相关逻辑
Controller:
// GET: employees
public ActionResult Index(string SearchString,int?page)
{
int pageNumber = page ?? 1;
int pageSize = 2;
int totalCount = 0;
var query = from e in db.employeeList select e;
// var query = GetEmployee(pageNumber, pageSize, ref totalCount);
if (!string.IsNullOrEmpty(SearchString))
{
query = query.Where(e => e.name.Contains(SearchString));
}
// StaticPagedList<employee> pageStaticList = new StaticPagedList<employee>(query.ToList(), pageNumber, pageSize, totalCount);
var employeeList = query.OrderByDescending(e => e.salary).ToPagedList(pageNumber, pageSize);
if (Request.IsAjaxRequest())
{
return PartialView("_Employee", employeeList);
}
return View("Index", employeeList);
<div>
第 @(Model.PageCount==0?0:Model.PageNumber) 页
共 @Model.PageCount 页
@if (Model.HasPreviousPage)
{
@Html.ActionLink("首页","Index",new { Page=1})
@Html.Raw(" ")
@Html.ActionLink("上一页","Index",new { Page=Model.PageNumber-1})
}
else
{
@:首页
@Html.Raw(" ")
@:上一页
}
@if (Model.HasNextPage)
{
@Html.ActionLink("下一页","Index",new { Page=Model.PageNumber+1})
@Html.Raw(" ")
@Html.ActionLink("尾页","Index",new { Page=Model.PageCount})
}
else
{
@:下一页
@Html.Raw(" ")
@:尾页
}
</div>