我和这个问题有同样的问题。
我创建了一个应该与 WebGrid 一起工作的过滤器。过滤器适用于第一页,但如果您尝试转到其他页面或对结果进行排序,过滤器将丢失。我按照上一个问题中的建议将方法更改为 GET,但目标没有得到更新,而是从页面中消失。
div“网格”内的网格调用:
var grid = new WebGrid(Model, ajaxUpdateContainerId: "Grid", rowsPerPage: 20);
过滤形式:
@using (Ajax.BeginForm("Action", new { filter = "filter" }, new AjaxOptions { InsertionMode = InsertionMode.Replace, UpdateTargetId = "Grid", HttpMethod = "Get" }))
如果在 Action 中设置了“过滤器”,我将返回网格的 PartialView 而不是完整的 View。
Firebug 向我显示在响应中发送了正确的 HTML,但无论出于何种原因,它都没有插入到 Grid div 中。
任何建议,将不胜感激!
编辑:我目前的解决方法是使用 HTML 表单而不是 AJAX,但如果可能的话,我想坚持使用 AJAX。