複合型をコントローラーに渡す際に問題があります。
私のモデルは次のようになります。
public class Party
{
[XmlAttribute]
public int RsvpCode { get; set; }
public List<Guest> Guests { get; set; }
public string Comments { get; set; }
}
public class Guest
{
[XmlAttribute]
public string Name { get; set; }
[XmlAttribute]
public int MealOption { get; set; }
[XmlAttribute]
public bool Attending { get; set; }
}
私のコントローラーメソッドは次のようになります。
public JsonResult Submit(Party party)
{
return Json(party);
}
そして、私は次のようにajax呼び出しを実行しようとしています:
var party = { RsvpCode: 1, Guests: [{ Name: "test asdfasdf", MealOption: 1, Attending: true }, { Name: "test asdfasdf", MealOption: 1, Attending: true}] };
$.getJSON("/Rsvp/Submit", party, function(response) {
alert(response);
});
何かがうまくいかないのですが、何が原因かわかりません。アラートステートメントで何かが返されます。何か案は?
また、コントローラーのメソッドに送信されている値を調べてみましたが、正しくありません。ajax 呼び出しのどこかで情報が失われています。
私はまた、このようにパーティーオブジェクトを作成しようとしましたが、うまくいきませんでした:
var party = { "RsvpCode": 1, "Guests": [{ "Name": "test asdfasdf", "MealOption": 1, "Attending": true }, { "Name": "test asdfasdf", "MealOption": 1, "Attending": true}], "Comments": "testdsfsdf" };