【发布时间】:2017-05-07 11:05:22
【问题描述】:
我有一个枚举类...
public enum LeadStatus : byte
{
[Display(Name = "Created")] Created = 1,
[Display(Name = "Assigned")] Assigned = 2,
....
}
Name 当然是开箱即用的。来自元数据...
namespace System.ComponentModel.DataAnnotations
{
public sealed class DisplayAttribute : Attribute
{
...
public string Name { get; set; }
...
}
}
假设我想要自己的自定义显示属性,例如“BackgroundColor”...
[Display(Name = "Created", BackgroundColor="green")] Created = 1
我在这里看到了一些其他的主题,这些主题有点绕着这个问题跳舞,但上下文不同,我无法让它发挥作用。我假设我需要创建某种扩展/覆盖类,但我并没有在脑海中想象这一点。
谢谢!
【问题讨论】:
-
创建属性很容易。只需从 Attribute 继承您的自定义类。稍后您可以从枚举成员中提取属性信息。
-
原谅我...但是“简单”对不同的人可能意味着不同的事情!
-
嘿,请再看一下答案并复制粘贴。它会起作用的。请注意名称空间很重要,因为您想隐藏原始的
DisplayAttribute并使用您自己的。 -
好的,我在找。谢谢你的帮助!!
标签: c# asp.net enums displayattribute