加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读