【发布时间】:2012-03-15 10:59:42
【问题描述】:
我从枚举创建我的选择列表。
[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);
【问题讨论】:
-
出于好奇,为什么
Age枚举定义为Flags枚举?您希望孩子能够同时加入Toddler和Preschool(例如)? -
我们为孩子们推荐书和应用程序,有些书对初中和高中的孩子都有好处。
-
我认为你的 Model.Child.Age 有一些价值,对吧?
标签: asp.net-mvc-3 drop-down-menu html.dropdownlistfor