ASP.NET MVC 5 集成 X.PagedList.Mvc 实现分页指南

Aria
Aria
发布时间:2026-10-14 | 5人浏览过
原创

本文详细讲解如何在 ASP.NET MVC 5 项目中利用 X.PagedList.Mvc 插件快速实现数据分页功能。

安装与引用插件

首先需要在 Visual Studio 中安装 X.PagedList.Mvc 扩展包。执行以下操作:

  1. 打开 Visual Studio,进入顶部菜单栏的 工具 → NuGet 程序包管理器 → 管理解决方案的 NuGet 程序包。
  1. 在搜索框中输入 X.PagedList.Mvc,找到对应库并点击“安装”以应用至当前项目。

后端控制器处理

安装成功后,需修改控制器的业务逻辑。以 UserController.cs 为例,需要引入命名空间并使用 ToPagedList 方法将查询结果转换为分页模型。

using PagedList;

// GET: User/1
public ActionResult Index(int page = 1)
{
    const int pageSize = 10;
    
    // 获取按 ID 排序的用户列表并进行分页处理
    var iUsers = db.Users.OrderBy(p => p.Id).ToPagedList(page, pageSize);
    
    return View(iUsers);
}

前端视图展示

在对应的视图文件(如 Views\User\Index.cshtml)中渲染表格并在底部添加分页控件:

@using PagedList
@using PagedList.Mvc

<table class="table">
    
</table>


@Html.PagedListPager((IPagedList)Model, page => Url.Action("Index", new { page }))

配置路由规则

为了使分页地址能正确映射到控制器参数,需在 App_Start\RouteConfig.cs 中注册自定义路由。注意将分页参数放在 URL 路径的末尾:

public class RouteConfig
{
    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{page}", // 指定 page 为可选参数
            defaults: new { controller = "User", action = "Index", page = UrlParameter.Optional }
        );
    }
}

最终效果确认

完成上述配置并运行项目后,页面将根据设置加载指定页码的数据。点击底部的分页条,浏览器 URL 会相应变化,页面显示对应页面的用户列表信息。

常见问题排查

  • 路由未生效(404错误):检查 RouteConfig.cs 是否正确添加了包含 {page} 的路由定义,且其顺序必须在 IgnoreRoute 之后。
  • 分页样式丢失:确认已安装依赖的样式文件。如果使用的是新版 X.PagedList,可能需要手动在视图中引用相关的 CSS 文件或者查看官方文档的最新 UI 组件。
  • 命名空间报错:如果在视图中找不到 PagedListMvcHtmlString,请确保在 Razor 视图头部写入了 @using PagedList.Mvc。

以上就是关于在 ASP.NET MVC 5 中集成和使用 X.PagedList.Mvc 插件进行数据分页的详细内容,更多关于 .NET MVC 开发优化的资料请关注本站其它相关文章!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表