2013-08-17 25 views
2

我將來會爲我的項目使用MVC4。我懷疑使用@Html幫手,而不是使用傳統的方法是這樣的:在MVC4中使用HtmlHelpers

@Html.labelfor(....) 

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

是否有必要使用HTML傭工?

+1

沒有強迫你使用HTML助手,他們是 - 助手。 –

+0

** [HTML幫助程序可幫助您將視圖模型提交給控制器。通過這種方式,您可以避免使用表單集合,而表單集合對於單元測試目的不是一個好選擇。點擊這裏查看更多詳細信息。](http://stackoverflow.com/questions/17002022/is-there-any-good-reason-to-use-formcollection-instead-of-viewmodel/17203239#17203239)** –

+2

@PKKG這不是他們爲... ..你可以輕鬆地不使用HTML助手,它會綁定罰款.. –

回答

1

您在視圖中使用HTML助手來呈現HTML內容。在大多數情況下,HTML助手只是一個返回字符串的方法。您可以在不使用單個HTML助手的情況下構建完整的ASP.NET MVC應用程序;但是,HTML助手使您的開發更容易。通過利用幫手,你可以用更少的工作來構建你的觀點。
在ASP.NET MVC的世界裏,HTML助手等價於ASP.NET Web窗體控件。像Web窗體控件一樣,HTML助手使您能夠封裝HTML的呈現。但是,與Web Form控件不同,HTML助手極其輕量級。例如,HTML幫助程序沒有事件模型,也不使用視圖狀態。

- 「ASP.NET MVC框架如虎添翼」由斯蒂芬·瓦爾特

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> 

換句話說,助手在保持代碼乾淨,方便,同時節省你在這個過程中的編碼時間內保持非常有用的。