我使用Telerik MVC Extensions Grid控件,使用AJAX绑定,并运行删除命令。删除按预期工作,网格更新,以便它不显示已删除的行。
但是,删除其中一个网格列(第一个)后显示为空。第二列也有区别 - '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"))
答案 0 :(得分:1)
您不应将columns.Template
与Ajax绑定一起使用。它适用于服务器端绑定网格。你应该使用
columns.Bound(o => 0.whatever).ClientTemplate("convert your link to a string here");
答案 1 :(得分:1)
看起来您正在使用服务器绑定来加载网格,但是使用ajax绑定来更新它。 columns.Template用于服务器绑定。您应该使用ClientTemplate进行ajax绑定。