mvc 4中每个局部视图的独立控制器有哪些优点?

时间:2013-12-18 13:37:33

标签: c# asp.net-mvc asp.net-mvc-4

我是MVC的新手,只是了解了部分观点。

每个局部视图的单独控制器与每个视图只有一个控制器(包含多个局部视图)之间有什么区别/优势?

1 个答案:

答案 0 :(得分:1)

一些定义

PartialView是您用来添加到View中的代码或来自操作的结果。

View是您要向用户显示的页面,它由来自Controller的Action返回。

所有.cshtml都被asp.net mvc视为一个视图,取决于你对待对象的方式,它变得部分与否。 (Html.RenderPartial,PartialView控制器方法等。)。

你能做什么?

  • 有时你需要只返回一个片段,你可以通过异步请求(使用ajax)来完成。在这些情况下,您使用返回部分视图的操作。

  • 有时您需要实现需要添加一段代码的视图,因此,您可以使用部分视图渲染它。

  • 您可以在View/Shared文件夹中拥有一个视图,此视图可以使用部分视图。部分视图可以进入视图的特定文件夹。样本:

      • 产品
        • Item.cshtml //部分视图
      • 共享
        • Index.cshtml //查看

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没有任何布局页面的过程,因为您将其视为部分视图。

您可以使用部分视图的一些优点。