自定义动态数据中的数据注释

Suj*_*air 10 asp.net asp.net-dynamic-data data-annotations

我遇到了一个在动态数据Web应用程序中自定义DataAnnotations的场景.这是场景:

[显示(名称= "DispName")]

public string DName {get; set;}

我没有为Display DataAnnotation硬编码Name ="DispName",而是想从DataBase中获取一些值并使其适合于Name属性.喜欢:

[显示(名称= SomeValueFromDB)]

public string DName {get; set;}

有没有办法从数据库中显示Display DataAnnotation的Name属性而不是硬编码它的值?

提前致谢,

Sujith

Suj*_*air 12

我找到了解决方案.但这仅适用于我们构建应用程序:

创建一个继承DisplayNameAttribute的自定义类(Say:CustomDisplayNameAttribute).并将该类名称作为属性名称上方的显示属性(此处为" CustomDisplayName ").

在为Display属性设置DataAnnotation时,请从类名中省略"Attribute"部分.即.DisplayAnnotation 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";
        }
    }
Run Code Online (Sandbox Code Playgroud)

希望这有助于所有....

快乐编码....

  • 谢谢sujith.我也需要相同的:) (2认同)