我正在尝试在从kendo网格创建/更新/删除项目时处理服务器错误。但是当抛出错误时,无论如何都会关闭kendo网格。
function kendo_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";
});
}
showErrorMessages(key, message);
});
//this does not work
var grid = this;
gird.one("dataBinding", function (e) {
e.preventDefault();
});
}
}
有没有人有其他解决方案? e.preventDefault()
也不起作用。
答案 0 :(得分:1)
这对我有用。以防任何人需要这个。
function kendo_error_handler(gridName) {
return function (e) {
if (e.errors) {
var grid = $('#'+gridName).data("kendoGrid");
grid.one("dataBinding", function (ev) {
ev.preventDefault();
var message = "Errors:\n";
$.each(e.errors, function (key, value) {
if ('errors' in value) {
$.each(value.errors, function () {
message += this + "\n";
});
}
showErrorMessages(key, message);
});
});
}
else {
$("#errorContainer").text("");
}
}
}
答案 1 :(得分:1)
是因为它说“gird.one”而不是“grid.one(”