1

複合型をコントローラーに渡す際に問題があります。

私のモデルは次のようになります。

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" };
4

1 に答える 1

2

party 変数を構築していたとき、ASP.NET MVC は次のようになることを期待しています。

var party = { "RsvpCode": 1, "Guests[0].Name": "test asdfasdf", "Guests[0].MealOption": 1, "Guests[0].Attending": true, "Guests[1 ].Name": "test asdfasdf", "Guests[1].MealOption": 1, "Guests[1].Attending": true, "Comments": "testdsfsdf" };

于 2009-03-19T04:05:24.787 に答える