В чем преимущество атрибута 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.

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