【发布时间】:2011-11-17 03:41:57
【问题描述】:
在 ASP.NET MVC 中有两种创建自定义 HTML 帮助器的方法:
- 您可以使用输出 HTML 的静态方法创建一个类,或者
- 您可以向 HtmlHelper 类添加扩展方法。
选项#1 似乎更简单、更容易。
- 选项 #2 有什么优势?
- 我什么时候想这样做而不是选项 #1?
- 选项 #2 会给您带来任何好处或附加功能吗?
编辑添加:
在这种特殊情况下,我试图输出一个通过一堆条件逻辑形成的字符串。把它放在我的模型中似乎是错误的,但是在 Razor 中做这一切似乎既乏味又不必要——或者我错了吗?
【问题讨论】:
-
还有第三种选择,也是我向您推荐的选择:使用 ViewModels 和 Display\Editor 模板。这样你就不会打破模式。所有 HTML 都保留在视图中,无需通过扩展和/或静态方法编写代码。
-
查看this 帖子以获取有关如何操作的更多信息。这是做你将要做的事情的正确方法。