我遇到了一个在动态数据Web应用程序中自定义DataAnnotations的场景.这是场景:
public string DName {get; set;}
我没有为Display DataAnnotation硬编码Name =“DispName”,而是想从DataBase中获取一些值并使其适合于Name属性.喜欢:
public string DName {get; set;}
有没有办法从数据库中显示Display DataAnnotation的Name属性而不是硬编码它的值?
提前致谢,
Sujith
解决方法
我找到了解决方案.但这仅适用于我们构建应用程序:
创建一个继承DisplayNameAttribute的自定义类(Say:CustomDisplayNameAttribute).并将该类名称作为属性名称上方的显示属性(此处为“CustomDisplayName”).
在为Display属性设置DataAnnotation时,请从类名中省略“Attribute”部分.即. DataAnnotation for Display属性将是CustomDisplayName(不是CustomDisplayNameAttribute).
public class DomainClass { [CustomDisplayName("")] public object PropertyName{ get; set; } } public class CustomDisplayNameAttribute : DisplayNameAttribute { public CustomDisplayNameAttribute(string value) : base(GetMessageFromResource(value)) { } private static string GetMessageFromResource(string value) { return "Custom Display Name"; } }
希望这有助于所有….
快乐编码….