Webgrid:排序和过滤的URL

时间:2013-05-09 18:08:01

标签: ajax asp.net-mvc sorting filter webgrid

我有一个部分视图中的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>

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

我怎样才能让它工作起来。或者我该怎么调试呢?排序如何运作?

修改

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

0 个答案:

没有答案