You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NonFactors.Grid.Mvc6 v7.2.0服务端分页页码显示异常求助

解决NonFactors.Grid.Mvc6 7.2.0分页显示指定页码数量的问题

问题根源

你当前设置了pager.PagesToDisplay = Model.TotalPages,这会让组件渲染所有页码;另外在_Grid.cshtml里手动修改TotalRows的逻辑会破坏组件的分页计算逻辑,导致页码显示异常。

修复步骤

  1. 修改分页配置,指定显示的页码数量
    在index.cshtml的Pageable配置中,把PagesToDisplay设为你需要的数量(这里是3),而非总页数:
.Pageable(pager =>
{
    pager.PageSizes = new Dictionary<Int32, String> { { 10, "10" }, { 20, "20" }, { 50, "50" }, { 100, "100" } };
    pager.ShowPageSizes = true;
    pager.PagesToDisplay = 3; // 固定显示3个页码
    pager.CurrentPage = Model.Page;
    pager.RowsPerPage = Model.PageSize;
    pager.TotalRows = Model.TotalItems;
})
.Sortable()
  1. 移除错误的TotalRows手动赋值
    删除_Grid.cshtml中手动修改TotalRows的代码,保留Partial视图渲染即可:
@if (Model.Pager != null)
{
    @await Html.PartialAsync(Model.Pager.PartialViewName, Model.Pager)
}

原理说明

NonFactors.Grid的分页组件会自动根据CurrentPage、PagesToDisplay和TotalRows计算要显示的页码范围:

  • 处于第1页时,显示1、2、3
  • 处于中间页(比如第3页)时,显示2、3、4
  • 接近最后一页时,自动调整为显示最后3个页码(比如总页数是6,当前页是5,显示4、5、6)

确保你的PagingModel中TotalItems是正确的总数据条数,这样组件才能准确计算总页数和页码范围。

内容的提问来源于stack exchange,提问作者Nguen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 09:51:00