Страницы

Поиск по вопросам

воскресенье, 30 июня 2019 г.

Ошибка при передачи данных из Html.DropDownListFor

Мне необходимо отобразить из БД в раскрывающий список ФИО, у которых столбец SubjectCode равен 1
Ege15VM.cs
namespace WebApplication1.Models { public class Ege15VM { public IEnumerable Participants { get; set; } public string Participant { get; set; }
public Ege15VM() { cokoEntitiesWAN dataContext = new cokoEntitiesWAN(); Participants = from a in dataContext.ege_15_res_before where a.SubjectCode == 1 select new SelectListItem { Text = a.surname + " " + a.name, Value = a.ParticipantID, Selected = false }; } } }
Ege15.cshtml
@model WebApplication1.Models.Ege15VM
@using (Html.BeginForm()) { Фамилия, Имя участника: @Html.DropDownListFor(x => x.Participant, Model.Participants)


}
HomeController.cs
[HttpGet] public ActionResult Ege15() { var model = new Ege15VM(); return View(model); }
[HttpPost] public ActionResult Ege15(Ege15VM model) { return View(); }
Представление нормально отображается и раскрывающий список содержит необходимые ФИО. Но если нажать на "Сформировать отчет", т.е. вызвать POST, выскакивает ошибка:
Ссылка на объект не указывает на экземпляр объекта
Сообщение ссылается на строку
Фамилия, Имя участника: @Html.DropDownListFor(x => x.Participant, Model.Participants)


Ответ

Вот эта строчка:
return View();
возвращает View, который будет отрендерен на основе ModelData - данных, переданных от клиента. model при этом будет null.
замените ее на
return View(model);

Комментариев нет:

Отправить комментарий