2

将来我将在我的项目中使用 MVC4。我怀疑使用@Html 助手而不是使用像这样的经典方式:

@Html.labelfor(....)

或者

<label for="xx">name</label>

是否有必要使用 html 助手?

4

2 回答 2

4

他们正是他们所说的——帮手。但它们确实为您节省了 IMO 的编码时间。您选择了 LabelFor 示例来说明您的观点,但让我举个例子。是不是更容易写:

@Html.TextBoxFor(m => m.LastName, new { @class = "input-block-level", placeholder = "Last Name" })
@Html.ValidationMessageFor(m => m.LastName)

或者

<input class="input-block-level" data-val="true" data-val-length="The field Last Name must be a string with a maximum length of 50." data-val-length-max="50" data-val-required="The Last Name field is required." id="LastName" name="LastName" placeholder="Last Name" type="text" value="">
<span class="field-validation-valid" data-valmsg-for="LastName" data-valmsg-replace="true"></span>

换句话说,帮助程序在保持代码清洁和易于维护方面非常有用,同时节省了您在此过程中的编码时间。

于 2013-08-17T05:52:47.967 回答
1

您在视图中使用 HTML 助手来呈现 HTML 内容。在大多数情况下,HTML 助手只是一个返回字符串的方法。您可以构建整个 ASP.NET MVC 应用程序,而无需使用单个 HTML 帮助程序;然而,HTML 助手让您作为开发人员的生活更轻松。通过利用助手,您可以用更少的工作来构建您的视图。
在 ASP.NET MVC 世界中,HTML 帮助器相当于 ASP.NET Web 窗体控件。与 Web 窗体控件一样,HTML 帮助器使您能够封装 HTML 的呈现。但是,与 Web 窗体控件不同的是,HTML 帮助程序非常轻量级。例如,HTML 助手没有事件模型并且不使用视图状态。

-- Stephen Walther 的“ASP.NET MVC 框架释放”

于 2013-08-17T07:30:23.287 回答