javascript - KendoUI 网格不会触发 saveChanges 事件

标签 javascript asp.net-mvc-4 kendo-ui kendo-grid kendo-asp.net-mvc

我对 KendoUI 网格控件中的事件有疑问。我在网格初始化后分配了“saveChanges”事件。我使用弹出窗口进行数据编辑。我想当用户按下“保存”按钮时触发事件“saveChanges”。不幸的是该事件没有被触发。我不知道问题出在哪里,而且其他事件也有效。网格在 MVC 帮助程序中初始化。事件在 JavaScript 中分配。

这是我正在使用的 JavaScript 代码:

 function bindGridEvents() {
        var that = this;

        //kendoGrid is an abbreviation of: $("#grid").data("kendoGrid")

        kendoGrid.bind("dataBound", function () { }); // works
        kendoGrid.bind("edit", function (event) { }); // works
        kendoGrid.dataSource.bind("error", function (event) {}); // works
        kendoGrid.bind("saveChanges", function (event) { console.log("This event is not fired!"); });
        kendoGrid.bind("save", function (event) { }); // works
    }

我已经花了很多时间自己寻找解决方案,但没有成功。我将不胜感激任何帮助。

编辑:

我已经找到问题所在了。文档说:

saveChanges event is fired when the user clicks the "save" command button.

但是当弹出窗口显示带有标签“保存”的命令时,其类型为“更新”。这就是它在编辑模式下不起作用的原因。它仅适用于工具栏。一开始并不明显,文档也没有说太多,所以要注意这一点。

最佳答案

如果没有看到代码,我无法确定。我相信,如果您不进行任何更改,该事件就不会触发。对我有用的好例子是 here 。如果您不通过网格功能处理实际的数据项编辑,请确保将该项目标记为“脏”。最好将您的代码发布为 JsFiddle 或 JSBin。

关于javascript - KendoUI 网格不会触发 saveChanges 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20397409/

相关文章:

javascript - htaccess 设置 js 过期

html - Kendo UI bundle 在 IIS 中不起作用

jquery - Kendo Ui 窗口文本框焦点

javascript - 启用虚拟化时选择剑道网格中的行

kendo-ui - kendo UI Treeview 抛出异常 - r.Dragging 不是函数

javascript - 了解 EmberJS 和 Rails 后端工作流程

javascript - 特定 div 上的媒体打印 CSS

javascript - 按钮和链接是否会提高移动响应能力?

asp.net-mvc - Asp mvc 4 成员资格和 Web 安全

c# - 从代码和网站调用Web API