В чем преимущество атрибута DisplayName по сравнению с атрибутом Display? - PullRequest
10 голосов
/ 09 марта 2011

Результат [DisplayName("foo")] и [Display(Name="foo")] для @Html.LabelFor(x => x.MyProperty) одинаков. оба генерируют <label for="MyProperty">foo</label>. В чем преимущество DisplayName?

Ответы [ 2 ]

18 голосов
/ 09 марта 2011
Атрибут

Display предпочтительнее атрибута DisplayName.Первый из них приходит из DataAnnotations пространства имен и предоставляет больше свойств, чем последний, т.е.ShortName, Prompt, GroupName, Order, Description, которые используются DataAnnotationsMetadataProvider.

Наиболее важно, DisplayName принимает только литералы, в то время как Display принимает тип ресурса и ключ, которые могут использоваться дляпереводы с использованием отдельных файлов ресурсов (resx).

3 голосов
/ 09 марта 2011

Не могу сказать, что есть одно преимущество использования одного над другим. DisplayName существует в более старых версиях платформы, в то время как Display может использоваться только в ASP.NET MVC 3, как это было представлено в .NET 4.0.

...