我正在尝试将Html.DropDownListFor与ViewBag中的字符串列表一起使用。
基本上我有一个带有“Adam”,“Tom”,“Mike”等字符串列表的ViewBag ......
如果有可能将此列表传递给DropDownListFor,我会徘徊,其中Value和text都是我列表中的项目。
我无法在这里使用foreach ......
硬编码示例:
@Html.DropDownListFor(model => model.Name, new SelectList(
new List<Object>{
new { value = "Adam" , text = "Adam" },
new { value = "Tom" , text = "Tom" },
new { value = "Mike" , text = "Mike" },
new { value = "Jake" , text = "Jake" },
},
"value",
"text",
2))
答案 0 :(得分:1)
您可以从字符串列表中生成SelectListItem
的集合,并将其与DropDownListFor
辅助方法一起使用。
var names = new List<string> {"Adam", "Sam"};
ViewBag.Names = names.Select(f => new SelectListItem() {Value = f, Text = f});
并在视图中
@Html.DropDownListFor(f=>f.Name, ViewBag.Names as IEnumerable<SelectListItem>,
"select one")