В чем преимущество атрибута DisplayName по сравнению с атрибутом Display?
Результат [DisplayName("foo")]
а также [Display(Name="foo")]
за @Html.LabelFor(x => x.MyProperty)
такой же. оба генерируют <label for="MyProperty">foo</label>
, В чем преимущество DisplayName?
2 ответа
Display
атрибут должен быть предпочтительнее DisplayName
приписывать. Первый приходит из формы DataAnnotations
Пространство имен и предоставляет больше свойств, чем последний, т.е. ShortName, Prompt, GroupName, Order, Description, которые используются DataAnnotationsMetadataProvider
,
Самое главное, DisplayName
принимает только литералы, а Display
принимает тип ресурса и ключ, которые могут использоваться для обеспечения переводов с использованием отдельных файлов ресурсов (resx).
Не могу сказать, что есть одно преимущество использования одного над другим. DisplayName
существует в более старых версиях фреймворка, в то время как Display
может использоваться только в ASP.NET MVC 3, как это было представлено в.NET 4.0.