Я использую C # MVC. У меня есть эта модель и enum
public class Student
{
public int Id { get; set; }
public string Name { get; set; }
public Gender Gender { get; set; }
}
public enum Gender
{
Male, Female, Others
}
Допустим, я хочу отфильтровать свой enum, у меня есть это в моем методе действия контроллера
public ActionResult Create()
{
var roles = Enum.GetNames(typeof(Gender))
.Where(f => f != Gender.Others.ToString())
.Select(f => new SelectListItem { Value = f, Text = f }).ToList();
ViewBag.Roles = roles;
return View();
}
и на мой взгляд
@Html.DropDownList("Roles", null, new { @class = "form-control" })
Но проблема в том, что рендер выпадающего списка
<select class="form-control" id="Roles" name="Roles"><option value="Male">Male</option><option value="Female">Female</option></select>
Что я хочу, это
<select class="form-control" id="Roles" name="Roles"><option value="1">Male</option><option value="2">Female</option></select>
Как получить значение перечисления для выпадающего списка? В настоящее время и текст, и значение совпадают.