为什么从datatable插件接收数据时Model属性为null?

时间:2016-07-26 14:47:30

标签: c# jquery asp.net-mvc datatables

我正在使用datatable.net Jquery插件。我刚刚开始使用它,所以我正在测试它的不同功能。 我正在使用:

  • 数据表-1.10.12
  • .NET Framework 4.5.1

我正在尝试自定义使用服务器端处理时发送到服务器的模型,但在服务器中收到它时它为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?

0 个答案:

没有答案