我已经使用带有 Ajax 绑定的 Knedo UI MVC 网格实现了内联编辑,在控制器中处理服务器端验证并使用 -
ModelState.AddModelError("错误:", ex.Message);
@(Html.Kendo().Grid<AnalyticsServiceWeb.ViewModel.SomeViewModel>()
.Name("Grid")
.Columns(columns =>
{
columns.Bound(p => p.Name);
columns.Bound(p => p.Path);
columns.Bound(p => p.Space);
columns.Command(command => { command.Edit(); command.Destroy(); });
})
.ToolBar(toolbar => toolbar.Create())
.Editable(editable => editable.Mode(GridEditMode.InLine))
)
function error_handler(e) {
if (e.errors) {
var message = "Errors:\n";
$.each(e.errors, function (key, value) {
if ('errors' in value) {
$.each(value.errors, function () {
message += this + "\n";
});
}
});
alert(message);
}
}
当出现服务器端异常时,会显示服务器端错误消息,但它仍会完成 UI 中的操作,我的意思是即使存在服务器端异常,它也会将新记录添加到网格并更新。
有没有办法在动作开始之前保留 UI 的状态?,它应该以这种方式工作,不确定我是否遗漏了什么?
提前致谢