2012-12-18 62 views
0

我有一個Kendo網格,它已啓用排序功能。我想用jQuery做一個ajax回發,將排序信息發送給action方法來執行一些操作。Kendo UI - Ajax MVC - JSON始終爲空

var datasource = $(".data-table").data("kendoGrid").dataSource; 
$.ajax({ 
    type: 'POST', 
    url: '@Url.Action("ExportToPDf", "MyController")', 
    dataType: 'json', 
    data: { sort: datasource._sort } 
}); 

我能看到正確的值了,並在阿賈克斯的數據屬性通過了debugger。我使用FireBug來確認這些值是在POST操作期間傳遞的。從螢火蟲POST操作

sort[0][dir] asc 
sort[0][field] EmployeeRef 

期間

public ActionResult ExportToPDf(List<SortDescription> sort) 
{ 
    //Will be doing some action 
    return null; 
} 

public class SortDescription 
{ 
    public string dir { get; set; } 
    public string field { get; set; } 
} 

的樣本數據。當我把斷點操作方法,IM能夠在列表中獲得一個項目,但屬性顯示爲空。

任何人都可以請指導我做錯了什麼?

回答

2

嘗試這樣:

$.ajax({ 
    url: '@Url.Action("ExportToPDf", "MyController")', 
    type: 'POST', 
    dataType: 'json', 
    contentType: 'application/json; charset=utf-8', 
    data: JSON.stringify({sort: datasource._sort }) 
})