我想在Razor DropDownList中列出一个枚举。我的模特的财产是:
public gender gender { get; set; }
这是我的观看代码:
@Html.DropDownListFor(model => model.gender, new SelectList(Enum.GetValues(typeof(gender))),new { @class="form-control"})
该列表有效,但jQuery Validation错误消息为字段Gender必须是数字。
我该如何解决?
由于
答案 0 :(得分:3)
这是您使用**Enum**
:
型号:
public enum Genders
{
[Display(Name = "Male")]
M = 1,
[Display(Name = "Female")]
N = 2
}
public Genders Gender { get; set; }
查看:
@Html.EnumDropDownListFor(x => x.Gender, "Please Select", new { @class = "form-control" })
答案 1 :(得分:0)
试试这个
模型
public int gender { get; set; }
控制器
public enum selectgender{
...
}
ViewBag.selectgender= Enum.GetValues(typeof(selectgender)).Cast<selectgender>();
查看
@Html.DropDownListFor(model => model.gender, new SelectList(ViewBag.selectgender), "Select Gender",new { @class = "form-control" })
答案 2 :(得分:0)
更新2020 ...
向模型添加枚举类型,性别。
public enum GenderType
{
Male,
Female,
Other
}
public GenderType Gender { get; set; }
在视图中,执行此操作...
<select asp-for="Gender" asp-items="@Html.GetEnumSelectList<GenderType>()">