私は 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 は null です。
この問題の最悪の部分は、alert(values.HousingModel.Summary); を配置した場合です。表示された値は良い値です! values.Title と values.Text があるのに、メソッドに正しく送信されないのはなぜですか??
このリンクを使用して JSON 形式 ( http://www.sitepoint.com/javascript-json-serialization/ ) を理解しましたが、有効なようです...そうではありませんか?
ご協力いただきありがとうございます
アレックス