Я начинаю работу с MVC 4 (механизм просмотра Razor). (Я считаю, что это может относиться и к MVC 3 и более ранним.) Мне интересно, есть ли какая-либо польза от использования аннотации данных DisplayAttribute в представлении, а не только для написания строки непосредственно в HTML. Например, если бы у меня была следующая модель:
public class Thing
{
public string WildAndCrazyProperty { get; set; }
}
... будет ли какая-либо польза в аннотации свойства как:
[Display(Name = "Wild and Crazy")]
public string WildAndCrazyProperty { get; set; }
... и с моей разметкой:
<html>
<body>
<div>@Html.DisplayNameFor(modelItem => modelItem.WildAndCrazyProperty)</div>
<div>@Html.DisplayFor(modelItem => modelItem.WildAndCrazyProperty)</div>
</body>
</html>
... против отсутствия аннотации и выполнения:
<html>
<body>
<div>Wild and Crazy</div>
<div>@Html.DisplayFor(modelItem => modelItem.WildAndCrazyProperty)</div>
</body>
</html>
Причина, по которой я не упоминал Html.LabelFor
, в этом случае заключается в том, что данные свойства отображаются на странице как статический (то есть редактируемый) текст. Данные никогда не будут редактироваться на этой странице, поэтому мне не нужно использовать Html.TextBoxFor
во втором <div> и затем используйте Html.LabelFor
, чтобы правильно связать метку с этим текстовым полем.