问题描述
我正在尝试使用由foreach循环在viewmodel中迭代的字符串列表生成的SelectListItems在视图中填充DropDownListFor。
public string Selected {get; set;}
public List<string> Strings {get; set;}
这是我的视图语法:
@Html.DropdownListFor(
model => model.Selected,new List<SelectListItem>
{
foreach(var answer in Model.Strings)
{
new SelectListItem
{
Value = answer,Text = answer
};
}
},new { htmlAttributes = new { @class = "form-control" } })
Visual Studio在“ foreach”下引发错误,内容为:
} expected
) expected
; expected
new{
; expected
} expected
我不确定自己在做什么错或如何消除这些错误。任何建议将不胜感激。谢谢。
解决方法
List<SelectListItem> item = Model.Strings.ConvertAll(answer =>
{
return new SelectListItem()
{
Text = answer.ToString(),Value = answer.ToString()
};
});
@Html.DropDownListFor(model => model.Selected,item,new { htmlAttributes = new { @class = "form-control" } })