Я создаю свой список выбора из enum.
[Flags]
public enum Age
{
New_Born = 1,
Toddler = 2,
Preschool = 4,
Kindergarten = 8,
Elementary_School = 16,
Middle_School = 32,
High_School = 64
}
var age = from Age e in Enum.GetValues(typeof(Age))
select new { Id = (int)e, Name = e.ToString().Replace("_", " ") };
Я пробовал оба:
var ageList = new SelectList(age, "Id", "Name", (int)Model.Child.Age);
или
var ageList = new SelectList(age, "Id", "Name", Model.Child.Age);
@Html.DropDownListFor(m => m.Child.Age, ageList, "Your Child's Age")
Все работает, кроме выбранного значения, которое не было выбрано.
РЕДАКТИРОВАТЬ: после нескольких часов тестирования, наконец исправить это.
chagne Id = (int) e to Id = e.
var age = from Age e in Enum.GetValues(typeof(Age))
select new { Id = e, Name = e.ToString().Replace("_", " ") };
var ageList = new SelectList (age, "Id", "Name", Model.Child.Age);