【发布时间】:2018-10-10 16:42:44
【问题描述】:
我搜索了一下,找不到专门针对我的问题的答案。
我有一个枚举:
public enum CodeType
{
NotSpecified,
Absent,
NoAbsence,
Other,
Missing
}
上面的枚举存储在一个结构中。我正在尝试使用 DropDownList 在视图中编辑存储的枚举,效果很好,除了我唯一的问题是我试图将该 DropDownList 的默认值设置为模型的存储枚举。见下文:
@Html.DropDownList("c", EnumHelper.GetSelectList(typeof(CodeType)),Enum.GetValues(typeof(CodeType)))
作为第二个参数,我尝试使用:
@Html.DropDownList("c", EnumHelper.GetSelectList(typeof(CodeType)),Enum.GetValues(typeof(Model.CodeType.ToString())))
但是,这确实将存储的 Enum 值显示为 DropDownList 中的字符串,但如果用户点击提交按钮,除非用户明确单击 DropDownList 并选择一个项目,否则我会收到空变量错误。
任何想法如何正确使用 Model.CodeType 作为 DropDownList 中的默认值?
【问题讨论】:
-
仅供参考,您不必在标题或问题中提供您的标签,因为我们都知道您使用的是 C# 和 MVC4,因为您用它标记了您的问题 - 不需要提及两次。
-
啊抱歉,我意识到它们在标签中,但想确保人们知道我在使用什么 :)
-
如果你的属性是
CodeType,那么你需要绑定到那个属性——@Html.DropDownListFor(m => m.CodeType, EnumHelper.GetSelectList(....
标签: c# asp.net-mvc-4 enums