Настройка аннотаций данных в динамических данных

Я сталкивался со сценарием настройки аннотаций данных в веб-приложении с динамическими данными. Это сценарий:

[Дисплей (Name="DispName")]

открытая строка DName{get;set;}

Вместо жесткого кодирования Name = "DispName" для отображения DataAnnotation, я хочу получить некоторое значение из базы данных и вписать в атрибут имени. лайк:

[Дисплей (Name=SomeValueFromDB)]

открытая строка DName{get;set;}

Есть ли способ показать атрибут Name для отображения DataAnnotation из базы данных вместо жесткого кодирования его значения?

Заранее спасибо,

Суджит

1 ответ

Я нашел решение. Но это применимо, только если мы создаем приложение:

Создайте пользовательский класс (Say: CustomDisplayNameAttribute), который наследует DisplayNameAttribute. И назовите это имя класса как атрибут отображения (здесь "CustomDisplayName") над именем свойства.

При настройке DataAnnotation для атрибута Display не указывайте эту часть "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";
        }
    }

Надеюсь, это поможет всем....

Удачного кодирования....

Другие вопросы по тегам