如何刷新mvc webgrid

时间:2016-03-09 07:34:49

标签: asp.net-mvc refresh webgrid page-numbering

我在我的mvc应用程序中使用WebGrid。

<div class="grid-div" id="webgridid">
                @grid.GetHtml(
    tableStyle: "gridTable",
    headerStyle: "gridHead",
    footerStyle: "gridFooter",
    columns: new[]
    {
        grid.Column("name","Name", canSort: true, style: "name"),
        grid.Column("description","Description", canSort: true, style: "description"),
        grid.Column("duration","Duration", canSort: true, style: "duration"),
   })
</div>

我可以使用表单编辑选定的行值。编辑此值后,它不会反映在我的webGrid中。但它反映在DataBase中。为了将此反映到webGrid中,我需要通过从DB加载数据来刷新webGrid。如何从DB将内容重新加载到webGrid?重新加载后,此pageNumber应该是旧的。怎么做?

1 个答案:

答案 0 :(得分:3)

最后,我找到了解决问题的方法。我必须使用<div>定义ID,并在div控件的id属性中引用ajaxUpdateContainerId的{​​{1}},以便{ {1}}使用WebGrid异步更新数据。

WebGrid

然后,调用Ajax的{​​{1}}方法,以便Razor引擎可以为其生成相应的<div id="ajaxgrid"> @{ var grid = new WebGrid(Model, rowsPerPage: 10, selectionFieldName: "SelectedRow", ajaxUpdateContainerId: "ajaxgrid"); } </div> 。在GetHtml代码结束后。

WebGrid

然后在我的HTML调用更新请求中,我添加了<div>来刷新我的@grid.GetHtml( tableStyle: "gridTable", headerStyle: "gridHead", footerStyle: "gridFooter", columns: new[] { grid.Column("name","Name", canSort: true, style: "name"), grid.Column("description","Description", canSort: true, style: "description"), grid.Column("duration","Duration", canSort: true, style: "duration"), })

ajax

现在它对我来说很好。