2008-12-29 68 views
6

在一篇相关的文章中,我提到我发现自定义的HTML帮助程序就是这样,有帮助的。例如,当我需要为“网格”分页时,我有一个自定义帮助程序,可以拨打Html.Pager()自定义HTML帮助程序类是否违反了ASP.NET MVC模型?

有些人认为HTML helper违反了MVC模型。就我个人而言,我不认为它与现有的帮助人员不同,例如Html.Textbox()Html.ActionLink()

我仍然想了解更多关于MVC,所以所有的观点都赞赏。

+0

正在进行的论点是什么?我没有看到任何问题,除非你真的很笨拙地让助手访问 – 2009-01-25 04:40:22

回答

16

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

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

他们只是封装代码来渲染常见的标记。如果你这样做,那么你没有违反ASP.NET MVC模型。

+0

那么,渲染Html的数据访问或其他任何事情的常见部分的最佳方式是什么? 在MVC 2中我们有Html.RenderAction,它可能是最好的方式,因为它来自控制器,但在MVC 1中? – 2010-05-28 15:31:51

相关问题