我很好奇什么时候建议使用HtmlHelper扩展方法以及何时使用局部视图?在许多情况下,他们似乎同样有资格。
答案 0 :(得分:16)
HtmlHelpers - 一小部分HTML(自定义链接,按钮,输入等)
PartialViews - 更复杂的东西(表单,页眉,页脚,列表项等)
答案 1 :(得分:13)
我个人认为局部视图或多或少类似于asp.net中的usercontrol,它充当一组可重用的功能元素。例如,如果您需要创建一个可能出现在整个站点上的登录控制框,则部分视图会更好。部分视图的更多内容是,它实际上是自包含的,具有自己的渲染/处理策略(并且可能也有自己的状态)
另一方面,htmlhelper只是用于节省编码时间和维护代码的工具。
答案 2 :(得分:11)
为部分视图编写HTML帮助程序(只是方法)的测试要容易得多。如果我正在编写具有逻辑的内容,例如基于viewdata内容的不同输出,那么我会使用一个带有测试的帮助程序。如果我在没有任何真实逻辑的情况下创建一个可重用的内容,那么我可能会使用局部视图。
答案 3 :(得分:1)
添加:你将使用htmlhelper在usercontrol中渲染元素,如果现有的htmlhelpers无法完成这项工作......那么让我们把它作为规则:
在使用htmlhelper而不是usercontrol(局部视图)的情况下是不好的方法 和 你使用htmlhelper作为帮助来渲染页面/ usercontrol的原子元素的场景是好方法