2009-05-20 100 views

回答

13

我个人认为部分视图或多或少类似于asp.net中的usercontrol,它充当一组可重用的功能元素。例如,如果您需要制作可能会出现在整个网站上的登录控制框,则局部视图会更好。局部视图更重要的是,它实际上是自带的,具有自己的渲染/处理策略(也可以有自己的状态)

另一方面,htmlhelper只是用于保存编码时间和维护的工具,以某种方式更好的可读性在您的代码。

1

我想补充:您将使用的HtmlHelper呈现在用户控件元素,如果存在的话htmlhelpers不能做的工作......所以我们把它作为一个规则:当使用的HtmlHelper

在场景中你,而不是用户控件(局部视图)是坏的方法 并且当您使用的HtmlHelper作为用于呈现页面的原子元素的辅助 场景/用户控件是很好的方法

16

HtmlHelpers - HTML的小位(自定义链接,按钮,输入等)

PartialViews - 更复杂的事情(表单,页眉,页脚,列表项等)

11

为HTML帮助程序(只是方法)编写测试比部分视图要容易得多。如果我正在写一些具有逻辑的东西,比如基于viewdata内容的不同输出,那么我会使用一个帮助器来测试它。如果我创建一个没有任何真实逻辑的可重用内容,那么我可能会使用局部视图。