htmlhelper dropdownlist selectlist to List<selectlist>

htmlhelper dropdownlist selectlist to List<selectlist>

我创建了一个 select 列表并将其设置为 viewbag 然后将其拍摄为视图中的下拉列表..但是它抛出了这个异常:

{"Cannot convert type 'System.Collections.Generic.List<System.Web.Mvc.SelectListItem>' to '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")

我该如何解决这个问题?

我会这样做:

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

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

因为 DropDownList 不接受字符串列表,它接受 IEnumerable<SelectListItem>.

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