我用来DropDownListFor创建枚举的下拉列表。我正在创建一个编辑个人资料页面,允许用户在该级别进行编辑,因此我希望默认情况下选择他们在个人资料中的内容,以防万一他们不想更改该字段。因此,如果他们的个人资料中有大二学生,下拉列表应默认选择所选的大二学生。如何将默认值设置为来自模型(或数据库)的值?我尝试添加像这样的选项标签,但它添加了一个我不需要的额外选择项。我只需要选择模型中已有的内容即可。@Html.DropDownListFor(x => x.AcademicInfo.ClassLevel, Html.GetEnumSelectList<ClassLevel>(), Model.ClassLevel.ToString())模型:public class ViewModel{ [Display(Name = "Class Level")] public ClassLevel ClassLevel { get; set; }}视图中的 HTML:@Html.DropDownListFor(x => x.AcademicInfo.ClassLevel, Html.GetEnumSelectList<ClassLevel>())枚举:public enum ClassLevel{ Freshman = 1, Sophomore = 2, Junior = 3, Senior = 4 //Other = 5}我如何将其添加到模型中:ViewModel model = new ViewModel();model.ClassLevel = (ClassLevel)latestYear.ClassLevelId;我需要能够从模型中设置默认值
1 回答
翻阅古今
TA贡献1780条经验 获得超5个赞
当您将数据映射到视图模型时,这种情况就会自然发生。换句话说,如果实体已ClassLevel
设置为ClassLevel.Sophmore
,那么您可以将该值映射到ClassLevel
视图模型上的属性,该属性也将是ClassLevel.Sophmore
。然后,由于您已将选择绑定到ClassLevel
属性,因此下拉列表的值将自动设置为属性的值,即ClassLevel.Sophmore
在本例中。
- 1 回答
- 0 关注
- 81 浏览
添加回答
举报
0/150
提交
取消