私はMVC4(Razorビューエンジン)から始めています。(これはMVC 3以前にも当てはまると思います。)HTMLに直接文字列を書き込むよりも、ビュー内でDisplayAttributeデータ注釈を使用することに利点があるかどうか疑問に思っています。たとえば、次のモデルがある場合:
public class Thing
{
public string WildAndCrazyProperty { get; set; }
}
...プロパティに次のように注釈を付けることには何らかの利点がありますか?
[Display(Name = "Wild and Crazy")]
public string WildAndCrazyProperty { get; set; }
...そして私のマークアップは次のようになります:
<html>
<body>
<div>@Html.DisplayNameFor(modelItem => modelItem.WildAndCrazyProperty)</div>
<div>@Html.DisplayFor(modelItem => modelItem.WildAndCrazyProperty)</div>
</body>
</html>
...注釈がなく、次のことを行うのとは対照的です。
<html>
<body>
<div>Wild and Crazy</div>
<div>@Html.DisplayFor(modelItem => modelItem.WildAndCrazyProperty)</div>
</body>
</html>
この場合に言及Html.LabelFor
しなかった理由は、プロパティのデータがページ上に静的な(つまり編集不可能な)テキストとして表示されているためです。このページでデータを編集することはできないためHtml.TextBoxFor
、2番目の<div>内で使用し、その後、を使用しHtml.LabelFor
てラベルをそのテキストボックスに適切に関連付ける必要はありません。