编辑:问题是url参数的发送方式如下:columns [0] [name]和Asp.Net没有获取[name]属性。如何让Asp.Net捕获名称属性?
我正在使用jQuery DataTables 1.10(新版本)和处理服务器端。我收到格式化如下的http请求:
请求标题:
Accept:application/json, text/javascript, */*; q=0.01
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8,it;q=0.6
Cache-Control:no-cache
Connection:keep-alive
Pragma:no-cache
User-Agent:Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.131 Safari/537.36
X-Requested-With:XMLHttpRequest
请求查询字符串中编码的变量:
draw:16
columns[0][data]:0
columns[0][name]:
columns[0][searchable]:true
columns[0][orderable]:true
columns[0][search][value]:
columns[0][search][regex]:false
columns[1][data]:1
columns[1][name]:
columns[1][searchable]:true
columns[1][orderable]:true
columns[1][search][value]:
columns[1][search][regex]:false
columns[2][data]:2
columns[2][name]:
columns[2][searchable]:true
columns[2][orderable]:true
columns[2][search][value]:
columns[2][search][regex]:false
order[0][column]:0
order[0][dir]:desc
start:0
length:10
search[value]:Log
search[regex]:false
模型绑定成功解析出第一级。我可以看到有3列,1个订单和搜索,但这些列始终为空。我应该如何制作我的模型以便能够正确绑定?我试过字典和数组无济于事。
这里是我的模型,我试图绑定:
public class DataTableParameterModel
{
public int draw { get; set; }
public int start { get; set; }
public int length { get; set; }
public DataTablesSearch search { get; set; }
public DataTablesColumn[] columns { get; set; }
public DataTablesOrder[] order { get; set; }
public int folderId { get; set; }
}
public class DataTablesColumn
{
public string data { get; set; }
public string name { get; set; }
public bool searchable { get; set; }
public bool orderable { get; set; }
public DataTablesSearch search { get; set; }
}
答案 0 :(得分:1)
在这里,我的解决方法。也许这不是最好的,但对我有用。
我对绑定过程的模型定义如下:
public class DataTablesSentParameters
{
public int draw { get; set; }
public int start { get; set; }
public int length { get; set; }
public IDictionary<string, string> search { get; set; }
public IDictionary<string, string>[] order { get; set; }
public IDictionary<string, string>[] columns { get; set; }
}