Asp.net mvc DisplayName属性比Display属性有什么优势?
Asp.net mvc DisplayName属性比Display属性有什么优势?,asp.net-mvc,displayattribute,Asp.net Mvc,Displayattribute,@Html.LabelFor(x=>x.MyProperty)的[DisplayName(“foo”)]和[Display(Name=“foo”)]的结果是相同的。两者都生成foo。DisplayName的优势是什么?不能说使用其中一个比另一个有什么优势DisplayName存在于较旧版本的框架中,而Display只能在ASP.NET MVC 3中使用,因为它是在.NET 4.0中引入的。Display属性应优先于DisplayName属性。前者来自DataAnnotations名称空间,并公开
@Html.LabelFor(x=>x.MyProperty)
的[DisplayName(“foo”)]
和[Display(Name=“foo”)]
的结果是相同的。两者都生成foo
。DisplayName的优势是什么?不能说使用其中一个比另一个有什么优势DisplayName
存在于较旧版本的框架中,而Display
只能在ASP.NET MVC 3中使用,因为它是在.NET 4.0中引入的。Display
属性应优先于DisplayName
属性。前者来自DataAnnotations
名称空间,并公开了比后者更多的属性,即ShortName、Prompt、GroupName、Order、Description,这些属性由DataAnnotationsMetadataProvider
使用
最重要的是,DisplayName
只接受文字,而Display
接受资源类型和键,可以使用单独的资源文件(resx)提供翻译