我从 MVC 4(Razor 视图引擎)开始。(我相信这可能也适用于 MVC 3 及更早版本。)我想知道在视图中使用 DisplayAttribute 数据注释是否有任何好处,而不是直接在 HTML 中编写字符串。例如,如果我有以下模型:
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
在第二个 <div> 中使用并随后使用 将Html.LabelFor
标签与该文本框正确关联。