Asp.net MVC中的部分视图有什么意义

x18*_*86x 21 .net html c# asp.net-mvc razor

我注意到视图和局部视图之间似乎没有真正的区别.例如,一个可以创建一个视图,但可以呈现为一个局部视图,通过使用

@Html.Partial("ViewName")
Run Code Online (Sandbox Code Playgroud)

或者通过指定其操作将其返回为

return PartialView();
Run Code Online (Sandbox Code Playgroud)

我注意到情况正好相反 - 即,可以创建局部视图,但如果它作为完整视图返回,它将以视图的默认布局显示.

我的问题是 - 在Visual Studio中添加新视图时,可以选择创建部分或不部分的视图.这不是多余的,因为视图无论如何都可以呈现为局部视图和完整视图吗?

arc*_*hil 17

还有就是视图和局部视图之间的差异,不同的是更多关于他们的使用,而不是技术.

View应该用作应用程序的完整页面,它需要布局<html><title>.部分视图更像是其他视图的可重用部分.部分不代表完整页面,它们被插入到其他视图中.

从技术角度来看,return View("SameView");渲染视图包括布局页面,并通过return PartialView("SameView");渲染内容返回相同视图,但省略布局页面的内容.


And*_*rei 13

没有区别 - 这是真的.但是,当您说"部分视图"时,您的所有队友都明白您的意思是可重复使用的视图,这些视图将在整个网站的许多地方使用.

  • 但只有当你把它作为部分归还时 (10认同)
  • 返回PartialView时,不会应用母版页/布局页面.这就是区别 (3认同)

scu*_*Fun 5

将部分视图视为ASP.NET WebForms中的用户控件.如果您希望集中使用某种功能,则可以使用部分视图,因此可以在网站的许多部分中使用.这是部分观点的目的.

希望我已经回答了你的问题.