私が取り組んでいるカスタム グリッドに並べ替えを実装しようとしていますが、jQuery から MVC パラメーターへのバインディングに問題があります。
以下に示すようなJqueryリクエストがあります
// Javascript
var dataobj =
{
test: 3,
sortInfo: self.sortInfo,
pagingInfo: {
TotalItems: 34, //headercontainer.attr("data-pagingInfo-TotalItems"),
ItemsPerPage: headercontainer.attr("data-pagingInfo-ItemsPerPage"),
CurrentPage: headercontainer.attr("data-pagingInfo-CurrentPage")
}
};
$.ajax({
url: self.viewModel.GenericGridHeaderModel.SortingCallbackUrl,
type: 'POST',
data: dataobj,
dataType: "json",
success: function (html) {...}
});
// C#
public PartialViewResult GenericGridSort(int test, SortInfo sortInfo, PagingInfo pagingInfo){
...
}
現時点では、Javascript の sortInfo オブジェクトに null 以外の値があり、値が正しくポストされていることがわかりますが、アクション メソッド内では値が正しくバインドされていません。私が見るのは、sortInfo および pagingInfo パラメータのデフォルト値だけです。実際、テスト パラメータは値 3 を正しく取得しています。
明確にするために、ここに私の sortInfo モデルがあります
public enum SortDirection
{
None = 0,
Ascending = 1,
Descending = 2
}
public class SortInfo
{
public int FieldIndex { get; set; }
public string FeildName { get; set; }
public SortDirection SortDirection { get; set; }
}
ここで何が欠けているのか誰か教えてもらえますか?
皆さんありがとう !