Добрый вечер всем.В настоящее время я использую MVC 3, и у меня есть view-модель, которая содержит свойство, которое является списком.В настоящее время я использую метод json2 JSON.stringify для передачи моей модели представления в мой метод действия.Во время отладки я замечаю, что все простые свойства выполняются, но свойство коллекции пусто, хотя я точно знаю, что в коллекции есть хотя бы один объект.Я хотел знать, есть ли кто-то, кто сталкивается с той же самой проблемой.Ниже приведен код, который я использую для публикации в методе действия:
$.post("/ReservationWizard/AddVehicleToReservation/",
JSON.stringify('@ViewData["modelAsJSON"]'),
function (data) {
if (data != null) {
$("#vehicle-selection-container").html(data);
$(".reservation-wizard-step").fadeIn();
}
});
Объект @ViewData["modelAsJSON"]
содержит следующий json и передается в мой метод действия {"NumberOfVehicles":1,"VehiclesToService":[{"VehicleMakeId":0,"VehicleModelId":0}]}
КакВы можете видеть, что свойство «VehiclesToService» имеет один объект, но когда оно попадает в мой метод действия, оно не преобразуется в соответствующий объект в коллекции, а скорее в коллекцию пустую.
Если кто-либо имеет представление оэта проблема будет принята с благодарностью.
Заранее спасибо.
ОБНОВЛЕНИЕ
OK после внесения рекомендуемых изменений и совершения вызова на new JavaScriptSerializer().Serialize(@Model)
это строка, которая в конечном итоге отправляется в мой метод действия через сообщение '{"NumberOfVehicles":1,"VehiclesToService":[{"VehicleMakeId":0,"VehicleModelId":0}]}'
Я могу отладить и увидеть объект, который отправляется в мой метод действия, но снова свойство коллекции пусто, и я знаю,что наверняка есть хотя бы один объект в коллекции.
Метод действия AddVehicleToReservation объявлен следующим образом: public ActionResult AddVehicleToReservation(VehicleSelection selections)
{
...
return PartialView("viewName", model);
}