【发布时间】:2019-06-03 06:37:32
【问题描述】:
public static class HtmlEnumExtensions
{
public static MvcHtmlString EnumToString<T>(this HtmlHelper helper)
{
var values = Enum.GetValues(typeof(T)).Cast<int>();
var enumDictionary = values.ToDictionary(value => Enum.GetName(typeof(T), value));
return new MvcHtmlString(JsonConvert.SerializeObject(enumDictionary));
}
}
<script>
var assetStatusEnum = @(Html.EnumToString<AssetStatusEnum>())
var assetStatusEnum ={"Free":0,"Reserved":1,"Inactive":2,"UnderMaintenance":3}
</script>
public enum ProjectState
{
[Display(Name = "bianji")]
Wait = 0,
[Display(Name = "tongguo")]
Pass = 1,
[Display(Name = "jujue")]
Reject = 2,
[Display(Name = "shangchu")]
Deleted = 3
}
这是 HtmlHelper 的扩展方法,如何获取枚举自定义属性显示名称和值
var assetStatusEnum = [{"name":"bianji","value":"0"},{"name":"tongguo","value":"1"}...]
如何修改 HtmlHelper 的扩展方法来实现我想要的?我想实现 EnumToString 重载来接受一个 displyname 参数和返回值。
【问题讨论】:
标签: c# .net asp.net-mvc asp.net-core enums