有在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