2011-06-08 61 views

回答

8

主觀性問題,所以這裏是我的主觀和偏見答案:當輔助代碼涉及大量的C#代碼時,請使用自定義的HtmlHelper,當它是主標記時,您可以使用@helper。但假設您有標記時可以使用@Html.Partial("_foo", SomeModel)@Html.EditorFor(x => x.Foo)等編輯器/顯示模板,@helper實際上沒有任何實際用途。就我個人而言,我從來沒有用過@helper,我從來沒有向我一直在諮詢的人推薦它。

+0

這一直是我的想法,特別是它的例子http://weblogs.asp.net/scottgu/archive/2011/05/12/asp-net-mvc-3-and-the-helper-syntax DisplayPrice的-within-razor.aspx,我認爲這是它最適合的代碼類型。幾乎完全無邏輯的代碼隻影響表示。同樣,將您的意見DRYER。 – 2011-06-08 22:12:53

+0

如果視圖引擎發生變化,我們不必重寫.cs中的幫助器方法,而是以聲明的方式(.cshtml)重寫。 – 2011-06-21 16:47:59

7

是的,的確如此,儘管如果包含大量標記,@helper看起來更容易處理--Html擴展和更廣泛的標記不能很好地結合在一起,IMO。

另一方面,@helpers不能像Html擴展那樣進行單元測試。

+0

+1單元測試非常好。 – 2011-06-08 22:36:22

相關問題