ASP.NET MVC передает сложный тип в проблему контроллера
-
03-07-2019 - |
Вопрос
У меня проблема с передачей сложного типа в контроллер.
Вот как выглядит моя модель:
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" };
Решение
Когда я создавал переменную party, ASP.NET MVC ожидал, что она будет выглядеть следующим образом:
var party = {"RsvpCode": 1, "Гости [0]. Имя": "test asdfasdf", "Гости [0]. MealOption": 1, "Гости [0]. ;: true, "Гости [1]. Имя": "проверить asdfasdf", "Гости [1] .MealOption": 1, "Гости [1]. Входящие": верно, "Комментарии": "» ; testdsfsdf & Quot; }; Р>