Эквивалент ViewData["MenuItem.StoreMenuId"] с использованием ViewBag? ViewBag.MenuItem.StoreMenuId не работает

Можно ли конвертировать ViewData["MenuItem.StoreMenuId"] в ViewBag? Я использую ViewBags для хранения IEnumerable<SelectListItem> так что я могу связать с @Html.DropdownListFor по моему мнению. Это прекрасно работает, если это простое свойство, которое не является вложенным (например, StoreMenuId):

ViewBag:

ViewBag.StoreMenuId = new SelectList(_db.StoreMenus.Where(m => m.Store.Id == model.StoreId), "Id", "Name");

DropDownListFor:

@Html.DropDownListFor(model => model.StoreMenuId, null, "", new { @class = "form-control" })

Но что, если свойство является вложенным (т. Е. MenuItem.StoreMenuId)? Это не работает:

ViewBag:

ViewBag.MenuItem.StoreMenuId = new SelectList(_db.StoreMenus.Where(m => m.Store.Id == model.StoreId), "Id", "Name");

DropDownListFor:

@Html.DropDownListFor(model => model.MenuItem.StoreMenuId, null, "", new { @class = "form-control" })

То, что заканчивается работой, меняется ViewBag.MenuItem.StoreMenuId в ViewData["MenuItem.StoreMenuId"] Это работает:

ViewData:

ViewData["MenuItem.StoreMenuId"] = new SelectList(_db.StoreMenus.Where(m => m.Store.Id == model.StoreId), "Id", "Name");

DropDownListFor:

@Html.DropDownListFor(model => model.MenuItem.StoreMenuId, null, "", new { @class = "form-control" })

0 ответов

Другие вопросы по тегам