2

我正在使用 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>  

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

请帮帮我!!提前致谢

4

3 回答 3

5

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

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

因此,修改您的搜索控件以获得除 POST 之外的其他内容

于 2013-07-08T09:22:34.597 回答
1

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

于 2016-01-26T17:51:49.257 回答
1

分页问题已解决。请ajaxUpdateContainerId: "grid"

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

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

于 2015-12-10T16:57:08.183 回答