我在我的MVC3應用程序中使用Kendo UI網格,並且對它很滿意。我正在使用Telerik提供的示例(摘錄如下)來格式化由網格的DataSource盟友發佈的數據,並且都很好。不過,我不想依賴這樣的代碼。我想獲得劍道和MVC說話不帶「翻譯」,即此代碼:我如何在我的MVC4應用程序中接受來自Kendo UI數據源的JSON請求?
parameterMap: function(data, operation) {
var result = { };
for (var i = 0; i < data.models.length; i++) {
var model = data.models[i];
for (var member in model) {
result["models[" + i + "]." + member] = model[member];
}
}
return result;
}
這個函數是一個「鉤子」,讓我操縱data
劍道ajaxes出來之前。默認情況下,Kendo DataSource發送內容類型的表單編碼,但不完全正確的MVC模型綁定。如果沒有這個,我仍然可以使用FormCollection並執行我自己的綁定,但那不是。
當我配置DataSource
發送JSON,並改變我的映射功能,看起來像這樣
parameterMap: function(data, operation) {
return JSON.stringify(data);
}
我得到以下數據是在發送請求,但現在我不知道怎麼去MVC綁定到這。現在我唯一的希望是在Action方法中獲取Request.Params [0],並自己反序列化這個JSON。
我不認爲我應該編寫任何代碼才能讓兩個HTTP端點在當今時代使用JSON進行正確通信。我做錯了什麼,或者我應該在我身邊看什麼,即請求的接收者。我真的希望最大限度地減少我對客戶端的干預,可能只是撥打stringify
。
我需要重新啓動該項目以檢查此項,但可能有所幫助,謝謝。 – ProfK 2012-10-13 07:23:04