1

Я новичок в asp.net mvc Я пробую этот код ниже, чтобы показать выбранные элементы из БД в dropdownlist, но я получил эту ошибку:Нет элемента ViewData типа «IEnumerable <SelectListItem>», который имеет ключ «SubGoods»

There is no ViewData item of type 'IEnumerable<SelectListItem>' that has the key 'SubGoods'. 

Действие контроллер

[HttpGet] 
    public ActionResult AddSubGood() 
    { 
     ViewBag.SubGoods = new SelectList(db.MainGoods, "GoodID", "GoodTitle"); 
     return View(); 
    } 

Я стараюсь это:

<div class="form-group"> 
     @Html.LabelFor(model => model.FKMainGoodID, new { @class = "control-label col-md-2" }) 
     <div class="col-md-10"> 
      @Html.DropDownList("SubGoods",(IEnumerable<SelectListItem>)ViewBag.SubGoods, "select main good") 
      </div> 
     </div> 

и это:

<div class="form-group"> 
     @Html.LabelFor(model => model.FKMainGoodID, new { @class = "control-label col-md-2" }) 
     <div class="col-md-10"> 
      @Html.DropDownList("SubGoods", "select main good") 
      </div> 
     </div> 

Но у меня такая же ошибка. Может ли кто-нибудь сказать мне, в чем проблема?

+0

все выглядит нормально. Предположим, вы пытаетесь добавить выпадающий список youur к другому виду. ваш выпадающий список должен находиться под AddSubGood.cshtml – Zergling

+0

Спасибо, это правда, мой снимок находится в AddSubGood.cshtml:/@Zergling –

+1

Я сделал то же самое, что и вы, и его работа для меня. я использовал первый код кода кода – Zergling

ответ

1

Если вы пытаетесь получить выбранное значение параметра в свойстве FKMainGoodID данной модели, используйте строку "FKMainGoodID" в качестве первого параметра вспомогательного метода DropDownList. Это сгенерирует элемент SELECT с именем FKMainGoodID, и привязка модели будет работать при отправке формы.

<div class="col-md-10"> 
     @Html.DropDownList("FKMainGoodID",(IEnumerable<SelectListItem>)ViewBag.SubGoods, 
                     "select main good") 
</div> 
+1

Спасибо, дорогие, ваши коды отлично работают, как всегда. большое спасибо :) –

Смежные вопросы