枚举的单选按钮(DataAnnotation)
Radio Button For Enum (DataAnnotation)
我有这个枚举:
[Display(Name = "Primary incomplete")]
PrimaryIncomplete = 1,
[Display(Name = "Primary")]
Primary = 2,
[Display(Name = "Secondary incomplete")]
SecondaryIncomplete = 3,
[Display(Name = "Secondary")]
Secondary = 4,
[Display(Name = "Higher education incomplete")]
HigherEducationIncomplete = 5,
[Display(Name = "Higher education")]
HigherEducation = 6,
[Display(Name = "Post-Graduation/MBA")]
PostGraduationMBA = 7
我把这个 EnumDropDownList 放在我的视图中:
@Html.EnumDropDownListFor(model => model.Scholarity, htmlAttributes: new { @class = "form-control" })
完美,显示了我在 DataAnnotation 中输入的名称。但是当我尝试将此 Enum 用作 RadioButton 时,它没有在 Display(Name...) 中显示名称,而是显示属性的名称..
这是我的单选按钮:
@foreach (var value in Enum.GetValues(typeof(BlaBla.Models.Scholarity)))
{
@Html.RadioButtonFor(model => model.Scholarity, value)
<span>@value.ToString()</span> <br />
}
我已经测试过Enum.GetNames(没有@value.ToString(),只有@value)..
有人可以帮助我吗?
顺便说一句,我想要它作为一个单选按钮,因为它有固定数量的元素并且只有几个选项,所以我更喜欢使用单选按钮。
不幸的是,没有像 @Html.EnumDropDownListFor
那样的现成控件。但是,您可以为单选按钮枚举创建编辑器模板,如下所述:MVC5: Enum radio button with label as displayname(参见所选答案)。
我有这个枚举:
[Display(Name = "Primary incomplete")]
PrimaryIncomplete = 1,
[Display(Name = "Primary")]
Primary = 2,
[Display(Name = "Secondary incomplete")]
SecondaryIncomplete = 3,
[Display(Name = "Secondary")]
Secondary = 4,
[Display(Name = "Higher education incomplete")]
HigherEducationIncomplete = 5,
[Display(Name = "Higher education")]
HigherEducation = 6,
[Display(Name = "Post-Graduation/MBA")]
PostGraduationMBA = 7
我把这个 EnumDropDownList 放在我的视图中:
@Html.EnumDropDownListFor(model => model.Scholarity, htmlAttributes: new { @class = "form-control" })
完美,显示了我在 DataAnnotation 中输入的名称。但是当我尝试将此 Enum 用作 RadioButton 时,它没有在 Display(Name...) 中显示名称,而是显示属性的名称..
这是我的单选按钮:
@foreach (var value in Enum.GetValues(typeof(BlaBla.Models.Scholarity)))
{
@Html.RadioButtonFor(model => model.Scholarity, value)
<span>@value.ToString()</span> <br />
}
我已经测试过Enum.GetNames(没有@value.ToString(),只有@value)..
有人可以帮助我吗?
顺便说一句,我想要它作为一个单选按钮,因为它有固定数量的元素并且只有几个选项,所以我更喜欢使用单选按钮。
不幸的是,没有像 @Html.EnumDropDownListFor
那样的现成控件。但是,您可以为单选按钮枚举创建编辑器模板,如下所述:MVC5: Enum radio button with label as displayname(参见所选答案)。