是否有任何助手可以在asp.net-mvc中显示下拉列表?
我有一个我需要填充的枚举,并在下拉列表中预先选择。
答案 0 :(得分:2)
MVC Contrib的FluentHtml库内置支持从枚举中生成选择框。
<%= this.Select("example")
.Options<System.IO.FileOptions>()
.Selected(System.IO.FileOptions.Asynchronous) %>
输出:
<select id="example" name="example">
<option value="0">None</option>
<option value="16384">Encrypted</option>
<option value="67108864">DeleteOnClose</option>
<option value="134217728">SequentialScan</option>
<option value="268435456">RandomAccess</option>
<option selected="selected" value="1073741824">Asynchronous</option>
<option value="-2147483648">WriteThrough</option>
</select>
答案 1 :(得分:1)
<%= Html.DropDownList() %>
有大约8个可以使用的重载。您需要将枚举映射到IEnumerable<SelectListItem>
以传递给它。像这样:
var names = Enum.GetNames(typeof(MyEnum));
List<SelectListItem> items = new List<SelectListItem>();
foreach (var s in names)
{
items.Add(new SelectListItem() { Text = s,
Value = s,
Selected = (s == "SelectedValue") };
}