对于您的标签片段,这并不重要。我会选择更简单的语法(纯 HTML)。
大多数辅助方法也不允许您包围另一个元素。在选择使用/不使用一个时,这可能是一个考虑因素。
强类型等价物
然而,值得注意的是,您使用何种@Html.[Element]For<T>()
方法获得了重要的功能。请注意方法名称末尾的“For”。
例子:
@Html.TextBoxFor( o => o.FirstName )
这将处理基于对象层次结构的 ID/名称创建(这对于模型绑定至关重要)。它还将添加不显眼的验证属性。这些方法将表达式作为参数,该参数引用模型中的属性。此属性的元数据由 MVC 框架获取,因此它比其字符串参数对应物“了解”更多有关该属性的信息。
它还允许您以强类型的方式处理 UI 代码。Visual Studio 将突出显示语法错误,而它不能对字符串执行此操作。视图也可以选择与解决方案一起编译,允许额外的编译时检查。
其他注意事项
有时,HTML 帮助器方法还会执行其他有用的任务,例如Html.Checkbox
还会Html.CheckboxFor
创建一个隐藏字段以与复选框一起使用。另一个例子是路由感知的与 URL 相关的方法(例如超链接)。
<!-- bad -->
<a href="/foo/bar/123">my link</a>
<!-- good -->
@Html.ActionLink( "my link", "foo", "bar", new{ id=123 } )
<!-- also fine (perhaps you want to wrap something with the anchor) -->
<a href="@Url.Action( "foo", "bar", new{ id=123 } )"><span>my link</span></a>
使用纯 HTML 与在呈现视图时必须执行的代码相比,有一点性能优势,尽管这不应该是决定因素。