Похоже, этот код будет работать только Тип конструкции:
public enum MyEnum
{
First,
Second
}
public class LoginViewModel
{
const MyEnum En = MyEnum.First;
[Required]
[DataType(DataType.Password)]
[Display(Name = (En == MyEnum.First ? "Password" : "aaa"))]
public string Password { get; set; }
}
Там должно быть возможно второй вариант с вашей собственной реализации отображаемое_имя
public enum MyEnum
{
First,
Second
}
public MyDisplayNameAttribute : DisplayNameAttribute
{
public MyDisplayNameAttribute (MyEnum en, string text1, string text2) : base (CorrectName (en, text1, text2))
{}
public static string CorrectName (MyEnum en, string text1, string text2)
{
return en == MyEnum.First ? text1 : text2;
}
}
public class LoginViewModel
{
const MyEnum En = MyEnum.First;
[Required]
[DataType(DataType.Password)]
[MyDisplayName(MyEnum.Second, "password1", "password2")]
public string Password { get; set; }
}
Однако я не чувствую что оба решения лучше, чем добавление какой-либо метки в ваш ViewModel
вы можете проверить мой ответ ниже. возможно, ваш собственный атрибут может решить проблему. Было бы возможно расширить DisplayName только потому, что дисплей закрыт –