Несколько атрибутов отображения 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] приписывать.

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