2016-09-08 5 views
1

я создаю список выбора и установить его viewbag затем расстреляли его как DropDownList ввиду .. но он бросает это исключение:HtmlHelper DropDownList SelectList к списку <selectlist>

{ "Невозможно преобразовать тип «System.Collections .Generic.List < System.Web.Mvc.SelectListItem>»на ' System.Web.Mvc.SelectList'"}

вот мой контроллер и HTML помощник в виду:

ViewBag.ProjeTipiList = valueSettingsService.GetRuzgarTurbunProjeTipiList().OrderBy(t => t.ProjeTipKod).ToSelectList(t => t.ProjeTipKod, t => t.Id.ToString(), "...Seçiniz..."); 

@Html.DropDownListFor(model => model.ProjeTipId, (SelectList)ViewBag.ProjeTipiList, "Select One") 

как я могу это исправить?

+1

Возможного дубликат [Невозможно преобразовать тип «System.Collections.Generic .List 'to' System.Web.Mvc.SelectList '] (http://stackoverflow.com/questions/21464005/cannot-convert-type-system-collections-generic-liststring-to-system-web-mvc) –

+0

Вы не указали соответствующий код контроллера. Если 'ViewBag.ProjeTipiList' является' List ', то его' @ Html.DropDownListFor (model => model.ProjeTipId, (List ) ViewBag.ProjeTipiList, ...) ' –

ответ

1

Я хотел бы сделать это следующим образом:

ViewBag.ProjeTipiList = valueSettingsService.GetRuzgarTurbunProjeTipiList().OrderBy(t => t.ProjeTipKod).ToList(); 

@Html.DropDownListFor(model => model.ProjeTipId, new SelectList(ViewBag.ProjeTipiList,"ProjeTipKod","Id", "...Seçiniz...") ,"Select One") 
+1

Да, я сделал это с твой путь – TyForHelpDude

1

Поскольку DropDownList не принимает список строк, он принимает IEnumerable<SelectListItem>.

@Html.DropDownListFor(model => model.ProjeTipId, ((List<string>)ViewBag.ProjeTipiList).Select(m => new SelectListItem { Text = m, Value = m }))