【问题标题】:Paging not working in MVC Webgrid分页在 MVC Webgrid 中不起作用
【发布时间】:2017-04-22 07:13:33
【问题描述】:

我正在使用 MVC WebGrid。我从 4 天起就陷入了困境。我检查了stackoverflow上的每个博客和每个问题,但没有任何效果。当我单击任何页码时,我的 WebGrid 会消失。我正在创建一个搜索控件。单击搜索按钮后,ajax.beginform 将调用控制器上的方法,然后使用部分视图更新 div。部分视图由 webgrid(由结果组成)组成。 webgrid的代码如下:

@{
    var grid = new WebGrid(canPage: true, rowsPerPage: 5, ajaxUpdateContainerId: "grid");
    grid.Bind(list, rowCount: list.Count, autoSortAndPage: true);

    grid.Pager(mode: WebGridPagerModes.All);
}
<div id = "grid">
    @if (list[0].Title == null)
    {
        <span>No Record to display</span>
    }
    else
    {
        @grid.GetHtml(tableStyle: "gridTable",
                      headerStyle: "gridHead",
                      footerStyle: "gridFooter",
                      rowStyle: "gridRow",
                      alternatingRowStyle: "gridAltRow",
                      columns: grid.Columns(
                      grid.Column("Title", "Title"),
                      grid.Column("Category", "Category")
        ));
    }
</div>  

网格第一次打开很好。但是当我点击任何页码时,网格会消失。

请帮帮我!!提前致谢

【问题讨论】:

标签: c# asp.net-mvc


【解决方案1】:

我今天遇到了这个问题并设法解决了它。

在 POST 方法之后调用时,WebGrid 无法进行分页。

所以修改您的搜索控件,以便拥有除 POST 之外的其他内容

【讨论】:

    【解决方案2】:

    分页问题已解决。 请删除ajaxUpdateContainerId: "grid" 来自

    var grid = new WebGrid( canPage: true, rowsPerPage: Model.PageSize, canSort: true, ajaxUpdateContainerId: "grid");
    

    您已指定 ajaxUpdateContainerId。这意味着您的分页是基于AJAX - 因此在href 中的#。如果你想要 URLs,你需要删除 ajaxUpdateContainerId。

    【讨论】:

      【解决方案3】:

      在看到“mcaffart”评论说 webgrid 在加载 webgrid 的 post 方法后无法立即进行分页后,我遇到了同样的问题并解决了这个问题。我将 Ajax 调用更改为 GET 而不是 post,还将我的操作方法标记为 [HTTPGET],这导致 webgrid 上的分页按预期运行。感谢您的 cmets。

      【讨论】:

        猜你喜欢
        • 2018-03-12
        • 2018-11-10
        • 1970-01-01
        • 1970-01-01
        • 2012-05-14
        • 2017-01-28
        • 2023-03-22
        • 2012-06-21
        相关资源
        最近更新 更多