在MVC项目中,我使用HTML.Label助手,如下所示: -
@Html.Label("FirstName", "First Name", New With {.class = "FieldLabel"})
哪个输出
<label class="FieldLabel" for="FirstName">First Name</label>
我也有这个标签的相应输入。
这可能听起来像是一个愚蠢的问题,但如果我只是将直接输出输入到我的视图而不是使用HTML帮助器那么绝对没有任何区别?那么为标签使用HTML帮助器有什么优点/缺点吗?
答案 0 :(得分:5)
没有区别。
对于像标签这样的简单东西,我并没有真正看到使用html助手的好处。帮助程序代码比实际的html长。
但是,html助手非常适合模型绑定。
因此,如果我想将标签或其他表单元素绑定到我的ViewModel,请使用
@Html.LabelFor(m => m.FirstName)
@Html.TextboxFor(m => m.FirstName)
这可确保模型绑定正常工作。使用必要的属性输出表单元素,以便在将表单发布到服务器时,在服务器端自动填充模型参数。
还要确保您的标签链接到正确的表单元素。 @ Html.LabelFor助手将输出以下html
<label for="Username">Username</label>
答案 1 :(得分:3)
HtmlHelpers旨在生成动态内容;因此,如果您的项目有这样的场景,那么这些是必要的。
在您的代码中
@Html.Label("FirstName", "First Name", New With {.class = "FieldLabel"})
一切都是静态的,因此没有义务使用HTMlHelper。
答案 2 :(得分:0)
Html.Label为您的名称与指定输入文本
匹配的输入提供标签