有在ASP.NET MVC中創建自定義HTML輔助的方法有兩種:什麼時候應該將HTML助手作爲擴展方法而不是簡單的靜態方法編寫?
- 您可以創建與輸出HTML靜態方法的類,或
- 您可以添加一個擴展方法爲HtmlHelper類。
選項#1看起來更簡單,更容易。
- 選項2的優點是什麼?
- 我什麼時候想要這樣做而不是選項#1?
- 選項#2是否爲您提供任何好處或附加功能?
編輯補充:
在這種特定情況下,我想輸出我們通過一個一堆條件邏輯形成的字符串。把它放在我的模型中似乎是錯誤的,但是在剃刀中全部使用它似乎是單調乏味和不必要的 - 或者我錯了嗎?
還有第三個選項,我會推薦你:使用ViewModels和Display \ Editor模板。這樣你就不會打破模式。所有HTML都保留在視圖中,無需通過擴展和/或靜態方法編寫代碼。 – Joao
請查看[this](http://bradwilson.typepad.com/blog/2009/10/aspnet-mvc-2-templates-part-1-introduction.html)以獲得更多關於如何操作的信息。這是做你即將做的事情的正確方法。 – Joao