为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 DropDownListFor 中设置模型的默认值?

如何在 DropDownListFor 中设置模型的默认值?

C#
呼唤远方 2023-09-16 17:22:18
我用来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在本例中。



查看完整回答
反对 回复 2023-09-16
  • 1 回答
  • 0 关注
  • 92 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信