using StringValue for rendering enum properties
本问题已经有最佳答案,请猛点这里访问。
在Razor视图中,我正在呈现具有如下枚举值的组合框
1 2 3 4 5 6 7 8 9 10 11 |
如何使用DropDownList帮助器在组合框中呈现StringValue用
您可以使用C_中提供的显示属性。应该是这样的:
1 2 3 4 5 6 7 | public enum CarTypeEnum { [Display(Name="Car type one")] CarTypeOne = 1, [Display(Name="Car type two")] CarTypeTwo } |
您还必须只为第一个枚举提供一个值。其余部分将自动生成。
我还有一个枚举扩展,用于将显示属性ALS TEXT中提供的文本放入DropDownList中:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | public static class EnumExtensions {/// <summary> /// A generic extension method that aids in reflecting /// and retrieving any attribute that is applied to an `Enum`. /// </summary> public static TAttribute GetAttribute<TAttribute>(this Enum enumValue) where TAttribute : Attribute { return enumValue.GetType() .GetMember(enumValue.ToString()) .First() .GetCustomAttribute<TAttribute>(); } } |
用法如下:
1 2 3 4 |