2012-01-09 69 views
3

我注意到有几种方法使用视图和PartialViews:PartialViews在ASP.NET MVC4

的RenderAction,的RenderPartial,并放置在HTML里面当 “回归PartialView”

的RenderAction,可以简单的叫的行动和渲染视图返回(返回的视图可以是局部视图或查看?)

的RenderPartial将简单地检索查看的内容,无需执行任何控制器动作

最后,有什么区别赌注ween“返回视图”和“返回部分视图”?

感谢

回答

12

return View()返回启用,所以你得到充分的HTML页面<html><body>标签布局视图。另一方面,return PartialView()会禁用布局,只会获得此视图中包含的HTML片段。实际上,在使用Razor视图引擎时,我更愿意谈论模板,而不是视图和局部视图。这是因为视图是模板,局部视图是没有布局的模板。但在这两种情况下,它都是一个Razor模板。

+0

我了解它的偏好和需求?当有Ajax请求时,最好使用“Return PartialView”?感谢 – Bill 2012-01-09 11:18:53

+2

@bhaidar,当有AJAX请求时,它将取决于您打算如何处理结果。如果您打算用控制器操作返回的HTML片段替换DOM的某些部分,那么您应该返回PartialView以确保没有包含布局,否则最终会生成无效的HTML。 – 2012-01-09 11:20:12