PagedList.MVC分页

时间:2023-12-20 18:36:38
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc; namespace PagedList.MVCWeb.Controllers
{
public class HomeController : Controller
{
//
// GET: /Home/ public ActionResult Index(int pageIndex=1)
{
int vPageCount = 0;
List<Product> vProductList = GetPageSource(pageIndex, out vPageCount);
StaticPagedList<Product> vStaticPagedList = new StaticPagedList<Product>(vProductList, pageIndex, 3, vPageCount);
return View(vStaticPagedList);
} // 可改成读数据库
[NonAction]
List<Product> GetPageSource(int argPageindex,out int argPageIndex)
{
int vPageSize=3;
List<Product> vProductList = DataSource();
argPageIndex = vProductList.Count();
return vProductList.Skip((argPageindex - 1) * vPageSize).Take(vPageSize).ToList();
} [NonAction]
List<Product> DataSource()
{
return new List<Product>() {
new Product() {
ID=1,
Name="Name1",
Url="URL1",
Price=1,
CreateDate=DateTime.Now
} ,
new Product() {
ID=2,
Name="Name2",
Url="URL2",
Price=2,
CreateDate=DateTime.Now
} ,
new Product() {
ID=3,
Name="Name3",
Url="URL3",
Price=3,
CreateDate=DateTime.Now
} ,
new Product() {
ID=4,
Name="Name4",
Url="URL4",
Price=4,
CreateDate=DateTime.Now
} ,
new Product() {
ID=5,
Name="Name5",
Url="URL5",
Price=5,
CreateDate=DateTime.Now
} ,
new Product() {
ID=6,
Name="Name6",
Url="URL6",
Price=6,
CreateDate=DateTime.Now
} ,
new Product() {
ID=7,
Name="Name7",
Url="URL7",
Price=7,
CreateDate=DateTime.Now
} ,
new Product() {
ID=8,
Name="Name8",
Url="URL8",
Price=8,
CreateDate=DateTime.Now
}
};
}
}
}

Index View

@using PagedList.Mvc
@using PagedList.MVCWeb
@model PagedList.StaticPagedList<Product> @{
Layout = null;
} <!DOCTYPE html> <html>
<head>
<meta name="viewport" content="width=device-width" />
<link href="~/Content/PagedList.css" rel="stylesheet" />
<title>Index</title>
</head>
<body>
@using(Html.BeginForm())
{
<div>
<table>
<tr>
<th>ID</th>
<th>Name</th>
<th>URL</th>
<th>Price</th>
<th>CreteDate</th>
</tr>
@foreach (Product item in Model)
{
<tr>
<td>@item.ID</td>
<td>@item.Name</td>
<td>@item.Url</td>
<td>@item.Price</td>
<td>@item.CreateDate</td>
</tr>
}
</table> @Html.PagedListPager((PagedList.IPagedList)Model, x => Url.Action("Index", new {pageIndex=x}))
</div>
}
</body>
</html>

装了PagedList.Mvc,”~/Content/PagedList.css“NuGet会自动的放在你的Content中