【问题标题】:PagedList appending complete page data in GET requestPagedList 在 GET 请求中附加完整的页面数据
【发布时间】:2015-07-09 16:22:55
【问题描述】:

我正在尝试为我的 asp.net MVC 页面实现 PagedList。我已经用数据创建了模态并用它创建了 StaticPagedList。这是我的控制器:

        objPvm.NotificationsList = objUtil.getWorkGroupRecords(Session["SelectedWrkGrp"].ToString(), objPvm);
        objPvm.PagedNList = new StaticPagedList<FinalizeNotificationVM>(objPvm.NotificationsList, objPvm.qrConfig.PageIndex, objPvm.qrConfig.PageSize, objPvm.qrConfig.TotalRecords);

这是我的观点:

<div class="text-center" data-res-target="#searchResults">
    @Html.PagedListPager(Model.PagedNList, Pg => Url.Action(Model.ViewName, new { Pg, nStatus = Model.NotificationStatus }),
    new PagedListRenderOptions() { Display = PagedListDisplayMode.IfNeeded, DisplayPageCountAndCurrentLocation = true })
</div>

当我在浏览 pagedList 时尝试分页时,出现以下错误:

HTTP 错误 404.15 - 未找到 请求过滤模块配置为拒绝查询字符串过长的请求。

这里是与分页列表相关的屏幕打印 http://postimg.org/image/vu280etwz/ http://postimg.org/image/t190gdtkj/

请帮助解决这个问题。谢谢

【问题讨论】:

    标签: jquery asp.net asp.net-mvc-5 pagedlist


    【解决方案1】:

    不知何故,您的整个NotificationsList 集合被放入查询字符串中。这很可能是通过 GET(可能是搜索框?)提交表单的结果。这就是导致错误的原因,因为您可以附加到查询字符串的数据有一个上限,并且您已经超过了它。您需要找到一种不同的方式来处理您的表单提交,而无需将所有这些数据都放入查询字符串中。

    【讨论】:

    • 感谢您的回复。我通过 PagedList 只给出了两个查询字符串 - PgnStatus 即使我没有发布页面数据,你知道它为什么在 GET 请求中发布到服务器。
    • 我不能说。这里没有足够的代码来确定是什么原因造成的。特别是它似乎与这里的实际 PagedList 内容没有任何关系。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-15
    • 2015-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-15
    • 1970-01-01
    相关资源
    最近更新 更多