繁体   English   中英

分页不在MVC Webgrid中工作

[英]Paging not working in MVC Webgrid

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

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

请帮帮我!! 提前致谢

我今天遇到了这个问题并设法修复它。

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

因此,请修改您的搜索控件,使其具有除POST之外的其他功能

寻呼问题已解决。 请删除ajaxUpdateContainerId: "grid"

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM