为什么要使用LabelFor
代替<label>
?
例如。
@Html.LabelFor(model => model.FirstName)
@Html.DisplayFor(model => model.FirstName)
与
<label for="FirstName">First Name</label>
@Html.DisplayFor(model => model.FirstName)
除上述以外,@ pswg涵盖了此问题的DRY方面。我也想知道它对本地化是否有帮助。即。根据当前语言设置的不同标签。
好吧,如果您用以下方式装饰了模型DisplayNameAttribute
:
[DisplayName("First Name")]
string FirstName { get; set; }
然后,您只需指定标签文本将放在一个位置。您可能必须在多个地方创建一个类似的标签,并且如果您需要更改标签的文本,则只需一次即可方便。
如果您想使用不同的语言本地化应用程序,这一点就显得尤为重要,您可以使用DisplayAttribute
:
[Display(Name = "FirstNameLabel", ResourceType = typeof(MyResources))]
string FirstName { get; set; }
这也意味着您将拥有更强类型的视图。很容易用手指加粗,就像"FirstName"
您必须多次键入一样,但是使用helper方法将使编译器在大多数情况下可以捕获此类错误。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句