Несколько атрибутов отображения MVC3
У меня есть свойство в модели. Скажем по электронной почте.
<Display(Name:="Email")>
<DataMember()>
Public Property Email As String
Я хочу использовать разные метки для электронной почты на каждой странице, поэтому в основном я спрашиваю, есть ли способ использовать два атрибута отображения для одного и того же поля? Я хотел бы иметь что-то вроде этого -
<Display(Name:="Email")>
<Display(Name:="Please Enter your Email")>
<DataMember()>
Public Property Email As String
а затем выберите на странице, какой ярлык использовать.
Есть ли способ, я могу этого достичь?
1 ответ
Решение
[DisplayName("Please Enter your Email")] //cannot specify a ResourceType
[Display(Name:="Please Enter your Email")]
Атрибуты читаются во время компиляции и становятся частью метаданных сборки. Кажется, вы хотите решить во время выполнения, какой ярлык использовать.
Для этого, по вашему мнению, вы могли бы сделать что-то вроде..
@if(crazyUser){
<label for="Email">Alternate Label</label>
}
else{
@Html.LabelFor(m => m.Email)
}
Так что это дополнительный бит, кроме [Display]
приписывать.