3
任何人都可以解釋爲什麼當我第一次進入我的頁面時,我對數據源讀取方法的調用工作正常,但無法執行時,只要我回電刷新視圖?爲了記錄,我在Microsoft MVC環境中使用Kendo UI web(而不是MVC)。我可以清楚地看到在調試中讀取永遠不會被調用,但如果我嘗試介入,我進入JQuery縮小文件...這是不可能爲我調試。Kendo UI數據源讀取()方法不執行
這裏是我們的代碼示例:
var testDataSource = new kendo.data.DataSource({
transport: {
read: function (options) {
$.ajax({
url: "/Test/GetById",
data: { id: options.data[0] },
beforeSend: function() {
utils.hasPendingChanges = false;
myViewModel.set("isDirty", false);
},
success: function(result) {
utils.convertDates(result);
myViewModel.set("test", result);
kendo.bind($("#testForm"), myViewModel);
}
});
cache: false
},
parameterMap: function() {
return kendo.stringify(myViewModel.test);
}
},
change: function() {
var test= this.view()[0];
if (test!= null) {
myViewModel.set("test", test);
$("#testForm").show();
kendo.bind($("#testForm"), myViewModel);
} else {
$("#testForm").hide();
}
},
schema: {
data: function(data) {
if (data.notvalid) {
$(data.data).each(function() {
$("#errors").append('<li>' + this.toString() + '</li>');
});
} else {
myViewModel.set("readonly", true);
}
return data.data;
}
}
});
read方法被調用的預訂事件,像這樣:
$.subscribe("/Test/Detail", function (id) {
testDataSource.read([id]);
};
而且在取消視圖模型的:
cancel: function() {
$("#errors").html("");
myViewModel.set("readonly", true);
testDataSource.read([myViewModel.get("test.ID")]);
},
原帖傳遞參數給Ajax調用,您可以提供使用讀取功能也傳遞參數的例子嗎?我在Kendo文檔中找不到像這樣的例子。謝謝。 –
@AlanFisher你應該把它作爲一個單獨的問題來獲得答案。但是,當我遇到問題時,我可以提供一個簡單的線索。如果要將數據發送到讀取服務器URL,可以在ajax調用上使用data:參數。例如數據:{Value1:'foo',Value2:'bar'}。 –