Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc DisplayName属性比Display属性有什么优势?_Asp.net Mvc_Displayattribute - Fatal编程技术网

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)提供翻译