2

我正在使用带有 AJAX 绑定的 Telerik MVC Extensions Grid 控件,并运行删除命令。删除按预期工作,并且网格会更新,因此它不会显示已删除的行。

但是,删除其中一个网格列(第一个)后显示为空。第二列也有区别 - 'false'而不是未选中的框。任何想法为什么,我该如何解决?

我可以刷新屏幕,从而修复视图。但这是一个沉重的页面,我宁愿不进行第二次刷新。

删除第一行:

删除后,第一列显示为空: 现在第一列是空的:

我的网格:

Html.Telerik()
    .Grid(Model)
    .Name("scenarioGrid")
    .DataBinding(dataBinding => dataBinding.Ajax()
                                    .Delete("Delete", "Scenario"))
    .DataKeys(keys => keys.Add(c => c.Id))
    .Columns(columns =>
        {
            columns.Template(o => Html.ActionLink(o.Name, "Index", new {id = o.Name})).Title("Scenario")
                .FooterTemplate(@<text>Total @Model.Count() </text>);
            columns.Bound(o => o.IsLocked);
            columns.Bound(o => o.ContractMonth);
            columns.Bound(o => o.CreateDate);
            columns.Command(commands => commands.Delete().ButtonType(GridButtonType.Image)).Title("Delete");
        }
    )
    .Sortable()
    .Scrollable(scroll => scroll.Height(200))
    .ClientEvents(events => events.OnDelete("onDelete").OnComplete("afterDelete"))
4

2 回答 2

1

您不应该使用columns.TemplateAjax 绑定。它适用于服务器端绑定网格。你应该使用

columns.Bound(o => 0.whatever).ClientTemplate("convert your link to a string here");
于 2012-08-02T20:38:50.013 回答
1

看起来您正在使用服务器绑定来加载网格,但使用 ajax 绑定来更新它。columns.Template 用于服务器绑定。您应该使用 ClientTemplate 进行 ajax 绑定。

于 2012-08-02T20:41:19.197 回答