我正在使用datatable.net Jquery插件。我刚刚开始使用它,所以我正在测试它的不同功能。 我正在使用:
我正在尝试自定义使用服务器端处理时发送到服务器的模型,但在服务器中收到它时它为null。 我做错了什么?
模型
public class DataTableModel
{
public SearchModel[] SearchData { get; set; }
}
public class SearchModel
{
public string Column { get; set; }
public string Value { get; set; }
public bool Regex { get; set; }
public int Index { get; set; }
}
DataTable ajax配置:
"ajax": {
"url": dataUrl,
"data": function (d) {
var data = {
}
var searchColumns = [];
$(d.columns).each(function (index) {
if ($(this)[0].search.value !== "") {
var searchData = {
Column: $(this)[0].data,
Value: $(this)[0].search.value,
Regex: $(this)[0].search.regex,
Index: index
};
searchColumns.push(searchData);
}
});;
var dataTableModel = {
SearchData: searchColumns
};
data.dataTableModel = dataTableModel;
return data;
}
},
控制器上的Ajax处理程序
[HttpGet]
public JsonResult GetItems(DataTableModel dataTableModel, string _)
{
dataTableModel
的属性为null,但_
的值已设置。我的理解是_
是datatable
发送的使缓存工作的参数,我不确定处理它的正确方法是什么(任何建议都会受到赞赏)
QueryString
有:
[0] "dataTableModel[SearchData][0][Column]" object {string} [1] "dataTableModel[SearchData][0][Value]" object {string} [2] "dataTableModel[SearchData][0][Regex]" object {string} [3] "dataTableModel[SearchData][0][Index]" object {string} [4] "dataTableModel[SearchData][1][Column]" object {string} [5] "dataTableModel[SearchData][1][Value]" object {string} [6] "dataTableModel[SearchData][1][Regex]" object {string} [7] "dataTableModel[SearchData][1][Index]" object {string} [8] "_" object {string}
为什么SearchData
属性为null?