我正在尝试检索下面的[Display]
文本,无论在数据库中保存哪个枚举(即,如果为None,则相应的是“不,谢谢。”),而无需编写@if
块代码在我看来。我想这不可能,但我想我会问。
public enum MyEnum
{
[Display(Name = "No thanks.")]
None,
[Display(Name = "Yes, send me your 100 Packet.")]
100Packet,
[Display(Name = "Yes, send me your 200 Packet.")]
200Packet
}
现在,我唯一的解决方案是在我看来这样做:
@Model.MyEnumRadioButton // displays saved item in DB (i.e., "100Packet")
@if (Model.MyEnumRadioButton == MyEnum.None)
{
<text>No thanks.</text>
}
....
并对enum
中的每个项重复此操作。对于这个小例子来说,这没什么大不了的,但我有很多不同的enum
,有些可以选择多达10个。
例如,我可以使用@Model.MyEnumRadioButton
来显示文字吗?
有什么想法?提前谢谢。
答案 0 :(得分:2)
我找到了一个简单的问题答案:
MVC.net get enum display name in view without having to refer to enum type in view
我所要做的就是@MyEnum.100Packet.DisplayName()
答案 1 :(得分:1)
看到这篇文章,他正在使用描述属性来实现你的目标:
How do I have an enum bound combobox with custom string formatting for enum values?