View()与PartialView()

时间:2010-11-17 23:08:37

标签: asp.net-mvc

View()方法可以加载部分视图。

View()PartialView()之间的区别是View()是否可以加载视图和部分视图,而PartialView()只能加载部分视图?

3 个答案:

答案 0 :(得分:37)

由视图引擎决定是否要处理与常规视图不同的部分视图。

例如,在WebFormViewEngine中没有区别。

在新的ASP.NET MVC 3 RazorViewEngine中存在一些差异。只有常规视图才会运行“_viewstart.cshtml”页面,因为它们适用于设置布局页面等内容。

答案 1 :(得分:22)

我认为最大的区别在于使用_Layout页面:

  • PartialView():剃刀引擎将获取视图(例如index.cshtml),而不包含任何布局页面(_layout.cshtml)。
  • 查看():引擎会获取您的视图(例如index.cshtml),然后在布局页面中附加此视图的内容(_layout.cshtml)

答案 2 :(得分:3)

如果同一控制器有Index.aspxIndex.ascx两种方法可能有助于消除歧义。但我同意一般View更常用。并且PartialView也可用于加载完整视图,只是它在语义上是错误的。