Reputation: 27
I want to list an enum in my Razor DropDownList. My model's property is :
public gender gender { get; set; }
Here is my view code :
@Html.DropDownListFor(model => model.gender, new SelectList(Enum.GetValues(typeof(gender))),new { @class="form-control"})
The list works but the jQuery Validation error message is The field Gender must be a number.
How can I solve it ?
Thanks
Upvotes: 1
Views: 7325
Reputation: 1520
Update 2020...
Add an enum type, gender, to the model.
public enum GenderType
{
Male,
Female,
Other
}
public GenderType Gender { get; set; }
In view, do this...
<select asp-for="Gender" asp-items="@Html.GetEnumSelectList<GenderType>()">
Upvotes: 2
Reputation: 21
Try this
Model
public int gender { get; set; }
Controller
public enum selectgender{
...
}
ViewBag.selectgender= Enum.GetValues(typeof(selectgender)).Cast<selectgender>();
View
@Html.DropDownListFor(model => model.gender, new SelectList(ViewBag.selectgender), "Select Gender",new { @class = "form-control" })
Upvotes: 2
Reputation: 247
This is how you can achieve with **Enum**
:
Model :
public enum Genders
{
[Display(Name = "Male")]
M = 1,
[Display(Name = "Female")]
N = 2
}
public Genders Gender { get; set; }
View :
@Html.EnumDropDownListFor(x => x.Gender, "Please Select", new { @class = "form-control" })
Upvotes: 4