3

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

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

哪个输出

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

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

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

4

3 回答 3

5

没有区别。

对于标签等简单的东西,我并没有真正看到使用 html 助手的好处。帮助程序代码比实际的 html 更长。

但是,html 助手非常适合模型绑定。

因此,如果我想将标签或其他表单元素绑定到我使用的 ViewModel

@Html.LabelFor(m => m.FirstName)
@Html.TextboxFor(m => m.FirstName)

这可确保模型绑定正常工作。表单元素与必要的属性一起输出,以便当表单发布到服务器时,模型参数会在服务器端自动填充。

它还确保您的标签链接到正确的表单元素。@Html.LabelFor 助手将输出以下 html

<label for="Username">Username</label>
于 2013-08-14T11:46:35.373 回答
3

HtmlHelpers 旨在生成动态内容;因此,如果您的项目有这样的场景,那么这些都是必要的。

在您的代码中

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

一切都是静态的,因此没有义务使用 HTMlHelper。

于 2013-08-14T11:44:28.187 回答
0

Html.Label 为名称与指定输入文本匹配的输入提供标签

于 2013-08-14T11:44:51.703 回答