C# 如何防止编辑器弹出关闭?
我正在使用剑道调度程序,我想使用服务器验证。当服务器通过ModelState-ToDataSourceResult扩展返回验证错误时,我想在弹出窗口中显示它们。现在我有问题如何防止编辑器窗口被关闭 我有以下代码用于网格弹出编辑器和服务器验证错误:C# 如何防止编辑器弹出关闭?,c#,javascript,asp.net-mvc-4,kendo-ui,kendo-scheduler,C#,Javascript,Asp.net Mvc 4,Kendo Ui,Kendo Scheduler,我正在使用剑道调度程序,我想使用服务器验证。当服务器通过ModelState-ToDataSourceResult扩展返回验证错误时,我想在弹出窗口中显示它们。现在我有问题如何防止编辑器窗口被关闭 我有以下代码用于网格弹出编辑器和服务器验证错误: onError: function (args) { if (args.errors) { var scheduler = $("#scheduler").data("kendoScheduler"); sch
onError: function (args) {
if (args.errors) {
var scheduler = $("#scheduler").data("kendoScheduler");
scheduler.one("dataBinding", function (e) {
e.preventDefault(); // cancel grid rebind if error occurs - this prevents window to closing
/* some error handling */
});
} else {
alertify.error("Unknown error occurred");
}
}
我发现下面的代码看起来像一个bug。这是刷新方法od调度程序。我认为它应该检查triggerdataBinding的结果,并在事件未被阻止时调用_destroyEditable:
this.trigger("dataBinding");
if (!(e && e.action === "resize" && this.editable)) {
this._destroyEditable();
}
编辑:
下面是来自网格的代码:
if (that.trigger("dataBinding", { action: e.action || "rebind", index: e.index, items: e.items })) {
return;
}
目前Kendo UI调度程序不支持防止数据绑定事件。您可以尝试修改实际的源代码,如下所示:
if (this.trigger("dataBinding")) {
return;
}
我在telerik论坛上发布了同样的问题,修复程序将添加到下一个内部构建中