如何将自定义枚举值绑定到@ Html.CheckBox

时间:2013-09-26 08:28:34

标签: c# asp.net asp.net-mvc checkbox enums

我有enum个3个值。我想将枚举值绑定到除@Html.CheckBox之外的enum。如何实现这一目标?

我的public enum EType { [EnumMember] UNKNOWN = 0, [EnumMember] Value1 = 1, [EnumMember] Value2 = 2 } -

ViewBag

这是控制器中的ViewBag.Enums = from Enum e in Enum.GetValues(typeof(EType)) select new SelectListItem { Value = Convert.ToInt32(e).ToString(), Text =((EType)e).ToString() }; ,其中包含枚举值 -

<td>
@{
IEnumerable<SelectListItem> Enums = ViewBag.Enums;
foreach (var item in Enums)
 {                                                                   
  @Html.CheckBox(item.Text, false, new { item.Value }) 
  <label>@item.Text</label><br />
 }
}

这是我的Html -

{{1}}

1 个答案:

答案 0 :(得分:3)

在View中,试试这个

var enumList = Enum.GetValues(typeof(EType)).Cast<EType>().Skip(1);

@foreach (var optVal in enumList)
{ 
<label>
    @Html.CheckBox(optVal.ToString(), false, new { value = Convert.ToInt32(optVal).ToString()})
    @optVal

</label>
}