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.NET4.0で導入されたASP.NETMVC3でのみ使用できます。

于 2011-03-09T19:15:28.317 に答える