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