我有一个Kendo UI单页应用程序。我的应用程序的第一页使用此模板:
<!-- App details -->
<script type="text/x-kendo-template" id="appDetails-template">
<div id="appSettings">
<input id="appName" type="text" placeholder="Your app title goes here" data-bind="value: appName" />
<input id="id" type="text" placeholder="id goes here" data-bind="value: id" />
</div>
<div>
<input type="button" value="Next" data-bind="click: showContactDetails" />
</div>
</script>
我将视图绑定到像这样的ViewModel:
kendo.bind($('#appSettings'), appSettingsViewModel);
然后我指定ViewModel,其中包含一个DataSource:
var appSettingsViewModel = kendo.observable({
appDetailsSource: new kendo.data.DataSource({
autoSync: true,
transport: {
create: {
url: appControllerUrl + "/SaveAppDetails",
dataType: "json"
},
update: {
url: appControllerUrl + "/SaveAppDetails",
dataType: "json",
type: "post"
}
},
schema: {
model: {
id: "id",
fields: { appName: { type: "string" } }
}
}
}),
showContactDetails: function (e) {
this.appDetailsSource.sync();
this.set("hasChanges", false);
}
});
如果我为'appName'和'id'提供有效值,则单击按钮,成功调用showContactDetails方法,调用appDetailsSource.sync(),但似乎没有调用update方法,并且永远不会到达处理更新的服务器端URL。我做错了什么?