自定义HTML帮助程序类是否违反ASP.NET MVC模型?

时间:2008-12-29 23:06:47

标签: c# asp.net-mvc model-view-controller theory html-helper

在我提到的一篇相关文章中,我发现自定义HTML助手在开发时非常有帮助。例如,当我需要分页“网格”时,我有一个自定义助手,我可以调用Html.Pager()

有些人指出HTML帮助程序违反了MVC模型。就个人而言,我认为它与现有助手没有任何区别,例如Html.Textbox()Html.ActionLink()

我仍在努力了解有关MVC的更多信息,因此所有观点都值得赞赏。

1 个答案:

答案 0 :(得分:16)

请注意,现有的帮助程序都是作为HtmlHelper类的扩展方法编写的。我们明确地采用了这种方法,以便其他人可以编写自己的辅助方法作为HtmlHelper的扩展方法。

所以一般来说,这不违反MVC模型。我想这真的取决于你在助手中做了什么。助手应该根据传递给它们的参数简单地渲染html。他们不应该进行任何数据访问等...

它们仅封装用于呈现常见标记的代码。如果你这样做,那么你就不会违反ASP.NET MVC模型。