並べ替えが有効になっている剣道グリッドがあります。jQueryを使用してajaxポストバックを実行し、ソート情報をアクションメソッドに送信してアクションを実行したいと考えています。
var datasource = $(".data-table").data("kendoGrid").dataSource;
$.ajax({
type: 'POST',
url: '@Url.Action("ExportToPDf", "MyController")',
dataType: 'json',
data: { sort: datasource._sort }
});
debugger
正しい値が取得され、ajax の data 属性に渡されていることがわかります。FireBug を使用して、POST アクション中に値が渡されることを確認しました。
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; }
}
POST アクション中の Firebug からのサンプル データ
sort[0][dir] asc
sort[0][field] EmployeeRef
アクション メソッドでブレークポイントを保持すると、リスト内の 1 つの項目を取得できますが、プロパティが null のように見えます。
誰かが私が間違っていることを教えてもらえますか?