我是 JSON 新手,我尝试在控制器中的 JsonResult 方法中传递一些数据。该方法接受 AModel 作为参数。这个 AModel 是用一些属性和一个 BModel 定义的。
所以,我写道:
function loadDatas() {
var values =
{
"Title" : "The title",
"Text" : "Blahblahblah",
"BModel" :
{
"Summary" : "lorem ipsum",
"Page" : "15"
}
};
$.post("@Url.Action("Load", "MyController")",values,function(data)
{
// do stuff;
});
我的 Load 方法定义为:
[HttpPost]
public JsonResult Load(AModel test)
{
return Json(test); //dummy example, just serialize back the AModel object
}
当我在 Load 的左大括号上放置断点时,test.Title 和 test.Text 具有良好的值,但 test.BModel.Summary 和 test.BModel.Page 为空。
这个问题最糟糕的部分是如果我发出警报(values.HousingModel.Summary);显示的价值是好的!为什么它不能正确发送到我的方法,而 values.Title 和 values.Text 是?
我使用这个链接来理解 JSON 格式(http://www.sitepoint.com/javascript-json-serialization/),我的似乎是有效的......不是吗?
谢谢你的帮助
亚历克斯