我有一个枚举,我可以显示在EnumDropDownListFor
没有问题,并保存枚举。现在我正在尝试从我的记录中获取该值并为其显示DataAnnotation。我一直在尝试Enum.GetName
但是遇到了一些问题。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)
但是,当我运行此我得到以下错误 -
传递必须是枚举碱或基础类型的枚举,如一个Int32值\ r \ n参数名称:值
当我改变Enum.GetName到
@Enum.GetName(typeof(OpenBurn.Models.BurnPile.LandOwner), 1)
我知道Enum.GetName
的后期部分正在寻找一个整数,但不是Model.LandownersNotified
与枚举组合提供的?
我会收到一切的Y.我从来没有收到[Display(name="...")]
。
@ Html.DisplayFor()不适合你吗? – dwbartz
@ Html.DisplayFor()不会给我我的枚举选项。 –