在我提到的一篇相关文章中,我发现自定义HTML助手在开发时非常有帮助。例如,当我需要分页“网格”时,我有一个自定义助手,我可以调用Html.Pager()
。
有些人指出HTML帮助程序违反了MVC模型。就个人而言,我认为它与现有助手没有任何区别,例如Html.Textbox()
或Html.ActionLink()
。
我仍在努力了解有关MVC的更多信息,因此所有观点都值得赞赏。
答案 0 :(得分:16)
请注意,现有的帮助程序都是作为HtmlHelper类的扩展方法编写的。我们明确地采用了这种方法,以便其他人可以编写自己的辅助方法作为HtmlHelper的扩展方法。
所以一般来说,这不违反MVC模型。我想这真的取决于你在助手中做了什么。助手应该根据传递给它们的参数简单地渲染html。他们不应该进行任何数据访问等...
它们仅封装用于呈现常见标记的代码。如果你这样做,那么你就不会违反ASP.NET MVC模型。