2016-09-08 45 views
1

我創建了一個選擇列表,並將其設置viewbag再出手它作爲視圖下拉列表..但它引發此異常:的HtmlHelper下拉列表選擇列表的列出<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 }))