添加/下載PagedList.Mvc
直接搜索mvc pagelist 就會出來。安裝完成即可。在項目的packages文件夾下面就會出現PagedList.Mvc.4.5.0.0 和PagedList.1.17.0.0兩個文件夾
然后添加引用的就好了。
上示例代碼
/// <summary> /// Mvc 分頁 /// </summary> /// <param name="order"></param> /// <param name="pageIndex"></param> /// <param name="pageSize"></param> /// <returns></returns> public IPagedList<T> getMvcPageDataList(Func<T, bool> where, Func<T, object> order, int pageIndex, int pageSize) { //這里為了方便直接用的EF測試,其實這里可以直接用一個獲得的list比如:userInfoList.ToPagedList(page, pageSize)); return context.Set<T>().Where<T>(where).OrderByDescending(order).ToPagedList(pageIndex, pageSize); }
控制器代碼
/// <summary> /// mvcPageList 分頁 /// </summary> /// <param name="pageIndex"></param> /// <returns></returns> public ActionResult MvcPageList(int pageIndex = 1) { IPagedList<LX.EFOPT.Model.User_Info> modelUser_InfoList = User_InfoBLL.getMvcPageDataList(x => x.User_ID > 1, x => x.Create_Date, pageIndex, 2); return View(modelUser_InfoList); }
View視圖代碼
注意:必須引用 PagedList、PagedList.Mvc
@using PagedList; @using PagedList.Mvc; @model PagedList<LX.EFOPT.Model.User_Info> @{ ViewBag.Title = "PageList"; } <link href="../../Style/PagedList.css" rel="stylesheet" type="text/css" /> @{ if (Model.Count > 0) { foreach (var item in Model) { @item.User_ID <br />@item.User_Name <br />@item.Create_Date <br /><p></p> } @Html.PagedListPager(Model, page => Url.Action("MvcPageList", new { pageIndex = page })) } }
配置路由
這里的路由配置的相對比較簡單,只是為了滿足測試而已。
routes.MapRoute( name: "mvcPageList1", url: "{controller}/{action}/page{pageIndex}", defaults: new { controller = "User", action = "Index", pageIndex = 1 } );
輸出樣式
配置路由的效果如下:page2
MVC 分頁還是比較簡單的,容易上手。希望能給一些人一點點的幫助!