我是MVC的新手,只是了解了部分观点。
每个局部视图的单独控制器与每个视图只有一个控制器(包含多个局部视图)之间有什么区别/优势?
答案 0 :(得分:1)
一些定义
PartialView
是您用来添加到View
中的代码或来自操作的结果。
View
是您要向用户显示的页面,它由来自Controller的Action返回。
所有.cshtml
都被asp.net mvc视为一个视图,取决于你对待对象的方式,它变得部分与否。 (Html.RenderPartial,PartialView控制器方法等。)。
你能做什么?
有时你需要只返回一个片段,你可以通过异步请求(使用ajax
)来完成。在这些情况下,您使用返回部分视图的操作。
有时您需要实现需要添加一段代码的视图,因此,您可以使用部分视图渲染它。
您可以在View/Shared
文件夹中拥有一个视图,此视图可以使用部分视图。部分视图可以进入视图的特定文件夹。样本:
Index.cshtml
文件中的内容为:
<div>
@Html.Partial("Item")
</div>
你有一个像这样的控制器:
public class ProductController : Controller
{
public ActionResult Index()
{
return View();
}
}
它会找到一个产品中的视图而未找到,之后会在Shared文件夹中找到并渲染。共享文件夹中的视图使用部分视图,因此,执行的上下文位于Product中,它将从产品文件夹中呈现Item.cshtml
部分视图。
如果您在控制器中执行此操作:
public class ProductController : Controller
{
public ActionResult Index()
{
return PartialView();
}
}
它将仅返回Index.cshtml
没有任何布局页面的过程,因为您将其视为部分视图。
您可以使用部分视图的一些优点。