我从枚举创建我的选择列表。asp.net mvc3,为什么我的dropdownlist没有被选中?
[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);
出于好奇,为什么'年龄'枚举定义为'Flags'枚举?你期望一个孩子能够同时在“幼儿”和“幼儿园”(例如)? – Oded 2012-03-15 11:02:54
我们推荐儿童书和应用程序,有些书可以适合中学和高中的孩子。 – qinking126 2012-03-15 11:31:51
我假设你的Model.Child.Age有一些价值,对吧? – 2012-03-15 14:47:47