ajax – MVC3 WebGrid在使用过滤器排序或分页后消失
发布时间:2020-12-16 02:49:25 所属栏目:百科 来源:网络整理
导读:我和这个 question有同样的问题. 我创建了一个应该与WebGrid一起工作的过滤器.过滤器适用于第一页,但如果您尝试转到其他页面或对结果进行排序,则过滤器将丢失.我按照上一个问题中的建议将方法更改为GET,但不是目标更新,而是从页面中消失. div“Grid”内的网
我和这个
question有同样的问题.
我创建了一个应该与WebGrid一起工作的过滤器.过滤器适用于第一页,但如果您尝试转到其他页面或对结果进行排序,则过滤器将丢失.我按照上一个问题中的建议将方法更改为GET,但不是目标更新,而是从页面中消失. div“Grid”内的网格调用: 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中设置了“filter”,我将返回网格的PartialView而不是完整的View. Firebug告诉我在响应中发送了正确的HTML,但无论出于何种原因,它都没有插入到Grid div中. 任何建议,将不胜感激! 编辑:我目前的解决方法是使用HTML表单而不是AJAX,但我想尽可能坚持使用AJAX. 解决方法
我得到了一个解决这个问题的方法,我有一个围绕我的Webgrid的div,如下所示:
Index.cshtml: <div class="grid-container"> <div id="my-grid"> @Html.Partial("_Grid",Model) </div> </div> _Grid.cshtml: @{ var grid = new WebGrid(null,canSort: true,rowsPerPage: 20,ajaxUpdateContainerId: "my-grid"); grid.Bind(Model.Models,autoSortAndPage: true,rowCount: Model.TotalModelCount); } [...] 在我的列表中排序时,在筛选结果上,Webgrid消失了,并没有插入到my-grid-div中.但是,当我将周围的“my-grid”放在局部视图中时,它起作用了.我不明白为什么,但它现在有效. Index.cshtml: <div class="grid-container"> @Html.Partial("_Grid",Model) </div> _Grid.cshtml: <div id="my-grid"> @{ var grid = new WebGrid(null,rowCount: Model.TotalModelCount); } [...] </div> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |