我在使用DisplayAttribute
注释我的视图模型时,很难找到真正的世界价值。我能看到的唯一优势是这个弱类型的视图代码:
<label for="IPAddress">IP address</label>
变为强类型:
@Html.LabelFor(m => m.IPAddress)
缺点是我需要重新编译和重新部署我的网络应用以解决一个简单的错字。
在视图中保留仅属于显示的信息不是更好,并且有一些HTML帮助器来呈现正确的字段ID,如下所示:
<label for="@Html.IdFor(m => m.IPAddress)">IP address</label>
我想我只是好奇为什么MVC人员会选择基于属性的解决方案。也许我错过了一些明显的东西?
答案 0 :(得分:1)
我相信DisplayAttributes支持本地化。这可能是不对英文标签进行硬编码的好理由......
此博客文章可能会引起关注: Localize ASPNET MVC 2 DataAnnontations
答案 1 :(得分:0)
如果您只在支持一种语言的简单网络应用中使用您的实体,我认为没有理由使用LabelFor
。