2

我有一个部分视图中的 webgrid。parial 视图包含一个将数据传递给 webgrid 的 ajax 表单。我的观点看起来像

using (Ajax.Begin("Gain", "Gaining", new AjaxOptions{UpdateTargetId="Res"}))
{

}
<div id="Res">
  <div id="grid">
     @{var grid = new WebGrid(source: Model.myList, canPage: true, rowsPerPage: 25, ajaxUpdateContainerId: "grid",
                        canSort: true);
    grid.Pager(mode: WebGridPagerModes.All));
    @grid.GetHtml(htmlAttributes: new { id = "grid" },
    columns: grid.Columns(
    grid.Column(columnName: "num", header: "Number"),
        grid.Column(columnName: "name", header: "Full Name", canSort: true)
     ));
   }
   </div>
</div>

该页面显示井,但排序和移动到下一页不起作用。当我尝试时,网格就消失了。我注意到,当我将鼠标悬停在列标题上时,当我将鼠标悬停在标题排序链接上时,url 仍然是 localhost:XXXXX/#。当我删除 时ajaxUpdateContainerId="Res",url 似乎是正确的:localhost:xxx?length=4?sort=name&sortdir=ASC,这是一个错误的 URL,因为我的数据是从控制器 Gaining 和方法 Gain 获得的

请问我怎样才能让它工作。或者我怎样才能调试这个?排序是如何工作的?

编辑

我现在对 ajaxUpdateContainerId 的使用感到困惑。根据这个链接,这对他/她的分类没有帮助。如果我将它从我的中删除,当我单击标题链接进行排序或任何分页链接时,整个部分视图都会被删除。那么ajaxUpdateContainerId 有什么用呢?

4

0 回答 0