我在.cshtml文件中有以下代码,但每个<option>
都没有返回。我已经验证GetDescription()返回正确的字符串,所以我的Razor代码中必须有语法问题。有人能告诉我问题是什么吗?
<select>
@{
Array enumValues = null;
enumValues = Enum.GetValues(typeof(SearchOperatorString));
foreach (var type in enumValues)
{
<option>
@{((Enum)type).GetDescription();} </option>
}
}
</select>
答案 0 :(得分:1)
你正在创建一个语句块,它调用GetDescription
,但对结果没有任何作用。
您想要使用代码块,它会将表达式打印到页面:
@((Enum)type).GetDescription()
不应手动执行此操作,而应调用DropDownList
帮助程序:
@Html.DropDownList("myName",
enumValues.Cast<SearchOperatorString>()
.Select(s => new SelectListItem { Text = e })
)
答案 1 :(得分:1)
试试这个:
@foreach(var type in Enum.GetValues(typeof(SearchOperatorString))){
<option>@((Enum)type).GetDescription()</option>
}