从SelectList的Viewdata获取数据到没有多选选项的HTML.Listbox

时间:2014-03-13 07:57:53

标签: c# asp.net-mvc razor html-helper

我将选择列表数据从控制器传递到viewdata中的视图。现在我想将该viewdata选择列表分配给@ HTML.Listbox。我想要一个4号的列表,但用户一次只能选择一个项目。我知道多选的代码,但我不知道单项。

多选的代码: 控制器:

ViewData["ddlList"] = new SelectList(ROIDL.GetDataList(), "List_Val", "List_Text");

HTML:

@Html.ListBox("ddlMCL", ViewData["ddlMCL"] as MultiSelectList)

1 个答案:

答案 0 :(得分:2)

你可以尝试类似的东西,你需要一个IEnumerable<SelectListItem>

ViewData["ddlList"] = ROIDL.GetDataList().Select(e => new SelectListItem()
                                        {
                                            Value = e.List_Val,
                                            Text = e.List_Text
                                        }).ToList();


@Html.ListBox("ddlMCL",  (IEnumerable<SelectListItem>) ViewData["ddlMCL"])