枚举.GetName显示注释
本文关键字:注释 显示 GetName 枚举 | 更新日期: 2023-09-27 18:07:15
我有一个枚举,我能够在EnumDropDownListFor
中显示,没有问题,并保存枚举。现在我试图从我的记录中获取该值并显示它的DataAnnotation。我一直在尝试Enum.GetName
,但遇到了一些问题。
my enum -
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)
然而,当我运行这个时,我得到以下错误-
传入的值必须是枚举基型或枚举的基础类型,如Int32。'r'n参数名称:value
当我改变枚举时。GetName到
@Enum.GetName(typeof(OpenBurn.Models.BurnPile.LandOwner), 1)
我知道Enum.GetName
的后部分正在寻找int,但是Model.LandownersNotified
与enum结合不提供吗?
我将收到所有的Y。我从未收到[Display(name="...")]
.
我不能说我明白你在做什么。但是@Enum.GetName
被设计为返回枚举值的名称。所以你不能传递枚举给它。
Model.LandownersNotified.ToString() -> Y,N,O
(int)Model.LandownersNotified -> 1,2,3