10

[DisplayName("foo")][Display(Name="foo")]for的结果@Html.LabelFor(x => x.MyProperty)是一样的。都生成<label for="MyProperty">foo</label>. DisplayName 的优势是什么?

4

2 回答 2

18

Display属性应该优先于DisplayName属性。前一个来自DataAnnotations命名空间,并且比后一个暴露更多的属性,即。ShortName、Prompt、GroupName、Order、Description,由DataAnnotationsMetadataProvider.

最重要的是,DisplayName只接受文字,同时Display接受资源类型和键,可用于使用单独的资源文件 (resx) 提供翻译。

于 2011-03-09T19:23:48.050 回答
3

不能真的说使用其中一个比另一个有一些优势。DisplayName存在于较早版本的框架中,而Display只能在 ASP.NET MVC 3 中使用,因为它是在 .NET 4.0 中引入的。

于 2011-03-09T19:15:28.317 回答