8

在 MVC 3 Beta 中,模板MVC 3 Partial Page (Razor)MVC 3 View Page with Layout (Razor)有区别吗?

我在我的应用程序中添加了一个部分页面 (_partialList)。现在,当我只返回部分视图时,它会应用 _ViewStart.cshtml 中存在的布局 - 非常类似于带有布局的标准视图页面。

    if (Request.IsAjaxRequest())
        return View("_partialList", someModelData);

“部分”页面如何与具有布局的标准视图页面区分开来?在任何特定情况下,两者的行为会有所不同吗?

4

5 回答 5

10

如果您不想应用布局,请返回 aPartialView而不是View

if (Request.IsAjaxRequest())
    return PartialView("_partialList", someModelData);
于 2010-10-13T17:07:37.650 回答
9

Darin 的回复解决了您不希望应用布局的实际问题。

关于两者之间的区别,在 Razor 中它们实际上是相同的,因为完整页面和部分页面都使用相同的扩展名并具有相同的基类。

之所以有不同的 UI,是因为在 Web Forms 视图引擎中,这两者是用不同的扩展和不同的基类实现的,这就是为什么需要分离模板的原因。

于 2010-10-13T23:55:03.227 回答
3

将以下代码添加到您的页面,视图引擎不会将布局应用到它。

@{
    Layout = null;
}
于 2011-02-28T20:51:58.083 回答
2

视图有这个 @{ View.Title = "Index"; 布局 = "~/Views/Shared/_Layout.cshtml"; }

部分视图没有

于 2010-12-02T09:07:43.150 回答
0

我不认为有任何区别。

于 2010-10-13T17:07:01.683 回答