次のJavaScriptデータオブジェクトを投稿しようとしています:
$.post(frm.attr("action"), data, function(res)
{
// do some stuff
}, "json");
ここで、「データ」は次の構造を取ります
data
- panelId
- siteId
- ConfiguredFactsheetId // this is an array of CheckBox ids that correspond to ConfiguredFactsheets
- 123
- 234
- 345
これにより、サイトとパネルの両方が正しくインスタンス化され、データにバインドされますが、List オブジェクトは null です。
public JsonResult Edit(Site site, Panel panel, List<ConfiguredFactsheet> configuredFactsheets)
{
// do stuff
return Json(success);
}
ここで、「データ」オブジェクトの ConfiguredFactsheetId プロパティが id 値の単なる配列であることに気付きました。各値が ConfiguredFactsheet オブジェクトの configuredFactsheetId プロパティに対応することを指定する必要がありますか? もしそうなら、私のデータオブジェクトは似たような形をとるでしょう
data
- panelId
- siteId
- ConfiguredFactsheet // this is an array of CheckBox ids that correspond to ConfiguredFactsheets
- ConfiguredFactsheetId:123
- ConfiguredFactsheetId:234
- ConfiguredFactsheetId:345
しかし、オブジェクトに新しい ConfiguredFactsheetId を追加するたびに、以前のものを上書きするだけなので、これは明らかに機能しません。
次の形式のクエリ文字列を作成すれば、これを実行できることがわかります
"&ConfiguredFactsheet[i].configuredFactsheetId = " + configuredFactsheetId;
しかし、すべてを単一のデータオブジェクトに含めたい
助言がありますか?何か (おそらくすべて!) をもっと明確に説明する必要がありますか?
ありがとう
デイブ