DisplayName属性比Display属性有什么优势?

时间:2011-03-09 19:12:16

标签: asp.net-mvc displayattribute

[DisplayName("foo")]的{​​{1}}和[Display(Name="foo")]的结果相同。两者都生成@Html.LabelFor(x => x.MyProperty)。 DisplayName有什么优势?

2 个答案:

答案 0 :(得分:18)

Display属性应优先于DisplayName属性。前者来自DataAnnotations命名空间,并且暴露了比后者更多的属性,即。 ShortName,Prompt,GroupName,Order,Description,由DataAnnotationsMetadataProvider使用。

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

答案 1 :(得分:3)

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