我在另一个复杂类型(模型)中获取复杂变量( RamarksList )属性的空值。
查看适用于名称和类型的值,但我看到复杂类型 RemarksList 的属性(参数和注释)的空值强>。
这是我的代码。请看一下并提出建议。
jQuery:
var data = {
'Name': 'Apple',
'Type': 'Fruit',
'RemarksList': [
{
'Parameter': 'test 1',
'Comments': 'test 123'
},
{
'Parameter': 'test 2',
'Comments': 'abc 3455'
}
]
};
var url = "/Controller/Action";
$.ajax({
url: url,
type: 'POST',
dataType: 'application/json',
data: data,
success: function (data) {
}
});
控制器:
[HttpPost]
public ActionResult Save(Model model)
{
return View();
}
模型类:
public class Model
{
public int Id { get; set; }
public string Name { get; set; }
public string Type{ get; set; }
public List<Remarks> RemarksList { get; set; }
}
public class Remarks
{
public int Id { get; set; }
public string Parameter { get; set; }
public string Comments { get; set; }
}
答案 0 :(得分:0)
我把你的代码放在我的测试项目中,我得到了正确的数据。实际上 RemarksList 不是null并且工作正常!!
答案 1 :(得分:0)
首先使用JSON.stringify
转换字符串中的数据$.ajax({
url: url,
type: 'POST',
dataType: 'application/json',
data: JSON.stringify(data),
success: function (data) {
}
});
然后从以下
更改控制器代码 [HttpPost]
public ActionResult Save(string model)
{
JavaScriptSerializer json_serializer = new JavaScriptSerializer();
Model routes_list =(Model)json_serializer.DeserializeObject(model);
return View();
}