ASP.NET MVC передает сложный тип в проблему контроллера - PullRequest
1 голос
/ 04 марта 2009

У меня проблема с передачей сложного типа в контроллер.

Вот как выглядит моя модель:

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

1 Ответ

2 голосов
/ 19 марта 2009

Когда я конструировал переменную party, ASP.NET MVC ожидал, что она будет выглядеть так:

var party = {"RsvpCode": 1, «Гости [0]. Имя»: «test asdfasdf», «Гости [0]. Гости [1] .Название ":" test asdfasdf "," Гости [1] .MealOption ": 1," Гости [1]. Ввод ": true," Комментарии ":" testdsfsdf "};

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...