Furkan Bozdağ
Furkan Bozdağ

Reputation: 27

MVC Enum Dropdownlist

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

Answers (3)

Qudus
Qudus

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

Nanotech
Nanotech

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

Nikunj Patel
Nikunj Patel

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

Related Questions