Выбранное значение раскрывающегося списка внутри foreach - Razor

Я передаю список объектов, используя viewbag в действии контроллера, для своего представления:

 ViewBag.subGroupNameList = DbContext.SubGroups.ToList();

и отображать раскрывающиеся списки внутри foreach в представлении cshtml:

   @Html.DropDownList("subGroupNameList", new SelectList(ViewBag.subGroupNameList, "id", "subGroupName", item.SubGroupId))

где item.SubGroupId — это идентификатор выбранного значения раскрывающегося списка в этой конкретной строке. Проблема в том, что выбранное значение не выбирается после загрузки.

Любая идея, почему это происходит? Спасибо


person Basilf    schedule 15.12.2015    source источник
comment
Ничего себе, ViewBag + слабо типизированный Html.DropDownList хелпер. Давно я не видел столько страданий. Интересно, почему в этом мире так много страданий.   -  person Darin Dimitrov    schedule 15.12.2015
comment
расскажи мне об этом. старый проект :)   -  person Basilf    schedule 15.12.2015
comment
Я бы понял это, если бы вы сказали старый проект классическому веб-сайту ASP или WebForms, но это даже похоже на приложение ASP.NET MVC. Я не знал, что они уже считаются старыми проектами.   -  person Darin Dimitrov    schedule 15.12.2015
comment
это :) любое решение в виду?   -  person Basilf    schedule 15.12.2015
comment
Нет, действительно, какое решение вы хотите дать умирающему существу, кроме как начать все с нуля.   -  person Darin Dimitrov    schedule 15.12.2015
comment
попробуйте @Html.DropDownList(subGroupNameList, новый SelectList(ViewBag.subGroupNameList, id, subGroupName, item)) (удалить SubGroupId)   -  person Lazy Coder    schedule 15.12.2015
comment
@LazyCoder не помог   -  person Basilf    schedule 15.12.2015


Ответы (1)


Это сработало для меня:

@Html.DropDownListFor(x =>item.SubGroupId, new SelectList(ViewBag.subGroupNameList, "id", "subGroupName", item.SubGroupId))
person InGeek    schedule 31.10.2017