JSON中的某些对象未绑定到Model。
var filterSet = {
"Filters":[Object1],
"FilterSets":[{
"Filters":[Object2,Object3],
"FilterSets":[{
"Filters":[Object4,Object5],
"FilterSets":[]
}]
}]
}
$.ajax({
url: '/ControllerName/GetData',
dataType: 'json',
data: JSON.stringify({
filterSet: filterSet
}),
type: 'POST',
contentType: 'application/json; charset=utf-8'
}).done(function (result) {
...
});
public JsonResult GetData(FilterSet filterSet)
{
....
return Json(data);
}
public class Filter
{
public string Field1 { get; set; }
public string Field2 { get; set; }
...
public Filter()
{
...
}
}
public class FilterSet
{
public List<Filter> Filters { get; set; }
public List<FilterSet> FilterSets { get; set; }
public FilterSet()
{
Filters = new List<Filter>();
FilterSets = new List<FilterSet>();
}
}
带有 Object4 和 Object5 的过滤器列表已绑定,但带有 Object1的过滤器列表和过滤器列表 Object2 和 Object3 不是。或者他们可能但却没有填充正确的值。
因此非空过滤网的所有过滤器兄弟都只是空列表。
它似乎不是导致这个奇怪问题的JS对象。我认为这与模型有关。模特中缺少什么?或者一般有什么问题?
答案 0 :(得分:1)
重命名字段解决了问题。也许,复数字段名称太靠近类名。
public class FilterSet
{
public List<Filter> FilterList { get; set; }
public List<FilterSet> FilterSetList { get; set; }
public FilterSet()
{
FilterList = new List<Filter>();
FilterSetList = new List<FilterSet>();
}
}