21

我很好奇什么时候推荐使用 HtmlHelper 扩展方法,什么时候使用局部视图?在许多情况下,他们似乎同样有资格。

4

4 回答 4

17

HtmlHelpers - 少量 HTML(自定义链接、按钮、输入等)

PartialViews - 更复杂的东西(表单、页眉、页脚、列表项等)

于 2009-05-20T18:36:28.210 回答
15

我个人认为partial view和asp.net中的usercontrol差不多,都是作为一组可复用的功能元素。例如,如果您需要制作一个可能会出现在整个网站上的登录控制框,那么局部视图会更好。更重要的是,它实际上是自包含的,具有自己的渲染/处理策略(并且可能也有自己的状态)

另一方面,htmlhelper 只是用于节省编码时间和维护的工具,以某种方式提高代码的可读性。

于 2009-05-20T13:21:51.340 回答
11

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

于 2009-05-27T13:22:18.187 回答
1

只是补充一点:如果现有的 htmlhelper 无法完成这项工作,您将使用 htmlhelper 来呈现用户控件中的元素......所以让我们把它作为一个规则:

在使用 htmlhelper 而不是 usercontrol(部分视图)的场景中是不好的方法,而当您使用 htmlhelper 作为渲染页面/用户控件的原子元素的助手时是好的方法

于 2009-05-20T14:30:52.433 回答