mvc 分页PagedList简单使用
1.nuget下载PagedList包
2.PageListHelper类:
using PagedList; using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace ClothMvcApp.Helper { public class PageListHelper<T> { public IPagedList<T> PageList { get; set; } public string Controller { get; set; } public string Action { get; set; } public string Key { get; set; } } }
3.创建一个部分页_PagedListPartial.cshtml
<div class="page-box"> @{ int pageIndex = 1; int pageSize = 1; if (Model.PageList != null) { pageIndex = Model.PageList.PageNumber; pageSize = Model.PageList.PageSize; <span>共<span style="color:orange;font-weight:bold;">@Model.PageList.TotalItemCount</span>条 共<span style="color: orange; font-weight: bold;">@Model.PageList.PageCount</span>页</span> <a href="@Url.Action(Model.Action, Model.Controller, new { pageIndex = 1,pageSize=Model.PageList.PageSize,key=Model.Key })">首页</a> if (Model.PageList.HasPreviousPage) { <a href="@Url.Action(Model.Action, Model.Controller, new { pageIndex = (Model.PageList.PageNumber - 1), pageSize = Model.PageList.PageSize, key = Model.Key })">上一页</a> } <select onchange="changePageSize(this)" style="width:70px;"> @{ for (int i = 1; i <= 10; i++) { <option value="@(i*5)" @(Model.PageList.PageSize == i*5 ? "selected" : "")>@(i*5)</option> } } </select> if (Model.PageList.HasNextPage) { <a href="@Url.Action(Model.Action, Model.Controller, new { pageIndex = (Model.PageList.PageNumber + 1), pageSize = Model.PageList.PageSize, key = Model.Key })">下一页</a> } <a href="@Url.Action(Model.Action, Model.Controller, new { pageIndex = Model.PageList.PageCount, pageSize = Model.PageList.PageSize, key = Model.Key })">末页</a> } } </div> <script type="text/javascript"> function changePageSize(obj) { var pageSize = obj.value; window.location = "/Admin/@Model.Controller/@Model.Action?pageIndex=@pageIndex&pageSize="+pageSize+"&key=@Model.Key" } function search() { var key = document.getElementById("key").value; window.location = "/Admin/@Model.Controller/@Model.Action?pageIndex=1&pageSize=@pageSize&key=" + key; } </script>
4.Index页面调用:
@using ClothMvcApp.EF; @using ClothMvcApp.Helper; @{ Layout = null; var list = ViewBag.data as PagedList.IPagedList<ClothMvcApp.EF.Product>; }
@Html.Partial("_PagedListPartial", new PageListHelper<ClothMvcApp.EF.Product>() { Controller = "Cloth", Action = "Index", Key = ViewBag.key, PageList = list })
分类:
Asp.net mvc4技术
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix