Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 我应该使用Html.Label帮助程序吗?_Asp.net Mvc_Html Helper - Fatal编程技术网

Asp.net mvc 我应该使用Html.Label帮助程序吗?

Asp.net mvc 我应该使用Html.Label帮助程序吗?,asp.net-mvc,html-helper,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

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

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

<label class="FieldLabel" for="FirstName">First Name</label>
名字
我还得到了这个标签的相应输入


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

HTML帮助程序旨在生成动态内容;因此,如果您的项目有这样的场景,那么这些场景是必要的

在代码中

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

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

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

没有区别

对于标签之类的简单内容,我并不认为使用html帮助程序有什么好处。助手代码比实际的html长

然而,html帮助程序对于模型绑定非常有用

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

@Html.LabelFor(m => m.FirstName)
@Html.TextboxFor(m => m.FirstName)
这可以确保模型绑定正常工作。表单元素与必要的属性一起输出,这样当表单发布到服务器时,模型参数将在服务器端自动填充

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

<label for="Username">Username</label>
用户名