我应该使用Html.Label助手吗?

时间:2013-08-14 11:20:58

标签: asp.net-mvc html-helper

在MVC项目中,我使用HTML.Label助手,如下所示: -

@Html.Label("FirstName", "First Name", New With {.class = "FieldLabel"})

哪个输出

<label class="FieldLabel" for="FirstName">First Name</label>

我也有这个标签的相应输入。

这可能听起来像是一个愚蠢的问题,但如果我只是将直接输出输入到我的视图而不是使用HTML帮助器那么绝对没有任何区别?那么为标签使用HTML帮助器有什么优点/缺点吗?

3 个答案:

答案 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为您的名称与指定输入文本

匹配的输入提供标签