[DisplayName("foo")]
的{{1}}和[Display(Name="foo")]
的结果相同。两者都生成@Html.LabelFor(x => x.MyProperty)
。 DisplayName有什么优势?
答案 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中引入的。