Мне необходимо отобразить из БД в раскрывающий список ФИО, у которых столбец SubjectCode равен 1
Ege15VM.cs
namespace WebApplication1.Models
{
public class Ege15VM
{
public IEnumerable
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);
Комментариев нет:
Отправить комментарий