我在尝试将KendoUI Grid用于Visual Studio 2013中开发的ASP.NET MVC(.net 4.5)应用程序时遇到异常。我已将网格配置为使用InLine编辑并已明确将Batch设置为数据源部分中为false。这是作为局部视图呈现的。应该注意的是,如果GridEditMode.InLine设置为GridEditMode.InCell,则不会抛出任何异常。
您必须使用InCell编辑模式进行批量更新。
说明:执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.NotSupportedException:您必须使用InCell编辑模式进行批量更新。
@using Kendo.Mvc.UI
@model MyApp1.Data.DataModels.Agent
@(Html.Kendo().Grid<MyApp1.Data.ViewModels.PhoneNumberVM>()
.Name("grid")
.Columns(columns =>
{
columns.Bound(p => p.Number);
columns.Bound(p => p.Description);
columns.Command(command => command.Edit()).Width(90);
columns.Command(command => command.Destroy()).Width(90);
})
.ToolBar(toolBar =>
{
toolBar.Create().Text("Add Phone Number");
toolBar.Save();
})
.Editable(editable => editable.Mode(GridEditMode.InLine))
.DataSource(dataSource => dataSource
.Ajax()
.Batch(false)
.Events(events => events.Error("error_handler"))
.Model(model =>
{
model.Id(p => p.PhoneNumberId);
model.Field(p => p.PerId).Editable(false).DefaultValue(@Model.PerId);
})
.Read(read => read.Action("_GetPhones", "Pers", new { AgentId = Model.AgentId }))
.Create(create => create.Action("_AddPhone", "Pers"))
.Update(update => update.Action("_EditPhone", "Pers"))
.Destroy(destroy => destroy.Action("_DeletePhone", "Pers"))
)
)
答案 0 :(得分:21)
我已经解决了这个问题......
在工具栏中,我有以下命令toolBar.Save()
,它似乎告诉控件它将处于某种批处理编辑模式。通过删除这个我现在能够得到我想要的行为......
复制和粘贴示例很危险!