有什么我想念的吗? 在$ .ajax' get'和'发布'请求,.net mvc modelbinder无法在get请求中正确绑定complexType,但在post请求中正确绑定。
public class GridQuery
{
public GridQuery()
{
Draw = 1;
Start = 0;
Length = 10;
}
public int Draw { get; set; }
public int Start { get; set; }
public int Length { get; set; }
public GridSearch Search { get; set; }
}
public class GridSearch
{
public string Value { get; set; }
public string Regex { get; set; }
}
然后是ajax请求代码
$.ajax({
url: 'DataGrid/GetData',
type: 'get',
data: {
start: 0,
draw: 10,
length: 15,
search: {
value: 'test',
regex: false
}
}
}).done(function (d) {
});
发布请求时,search.value和search.regex绑定正确, 但获取请求,search.value和search.regex为空。
答案 0 :(得分:0)
您不能在查询字符串中发送具有复杂对象作为属性的对象,除非您这样做:
var gridQuery = { start: 0,
Draw: 10,
Length: 15,
Search.Value:'test',
Search.Regex: false
};
$.ajax(
{
type: "GET",
url: "DataGrid/GetData",
data: gridQuery,
success: function (data, status) {
alert("Pass" + data);
},
error: function (ex) {
alert("Fail" + ex);
}
});