我有一个枚举,我可以在EnumDropDownListFor
中显示没有问题并保存枚举。现在我试图从我的记录中获取该值并显示它的DataAnnotation。我一直在尝试Enum.GetName
遇到一些问题。
我的枚举 -
public enum LandOwner
{
[Display(Name = "Yes")]
Y =1 ,
[Display(Name = "No")]
N =2,
[Display(Name = "No Nearby Land Owner")]
O =3
}
public LandOwner ownerDropDown { get; set; }
当我保存记录时,它会保存Y,N或O.
我的Enum.GetName
- 其中Model.LandOwnersNotified
是Y,N或O。
@Enum.GetName(typeof(OpenBurn.Models.BurnPile.LandOwner), Model.LandownersNotified)
然而,当我运行此操作时,我收到以下错误 -
传入的值必须是enum基础或枚举的基础类型,例如Int32。\ r \ nParameter name:value
当我将Enum.GetName更改为
时 @Enum.GetName(typeof(OpenBurn.Models.BurnPile.LandOwner), 1)
我知道Enum.GetName
的后半部分正在寻找一个int但是Model.LandownersNotified
与enum的组合不提供吗?
我会收到一切的Y.我从未收到[Display(name="...")]
。
答案 0 :(得分:0)
不能说我明白你要做什么。但@Enum.GetName
旨在返回枚举值的名称。所以你无法通过枚举。
Model.LandownersNotified.ToString() -> Y,N,O
(int)Model.LandownersNotified -> 1,2,3