20

我刚开始阅读 ASP.NET MVC 4 的书并遇到了一个问题。在 Razor 部分作者说,如果我没有在 View.cshtml 文件中设置 Layout 变量,它将作为默认搜索 _ViewStart.cshtml,但在另一部分他在 Views/Shared 中使用 _Layout.cshtml,我不明白.

如果我在 View.cshtml 中得到这样的东西:

@{
     Layout = null;
 }

它告诉这个视图没有布局,但如果我让它像:

@{

 }

所以这会让 View 搜索 _ViewStart.cshtml 文件还是 _Layout.cshtml?

4

2 回答 2

21

基本上默认情况下,我们在Views>> Shared >> _Layout.cshtml中有主布局,这个东西在_ViewStart.cshtml中定义,哪一个是我们的默认主布局。

当我们创建一个默认主布局的视图时,它的主布局是_Layout.cshtml,但我们可以从_ViewStart.cshtml更改它

当我们写:

@{
     Layout = null;
 }

在我们的视图中,我们说这个视图没有任何主布局,这在我们主要创建部分视图或没有主布局的独立视图时使用。

如果您默认打开_ViewStart.cshtml,它会在其中写入以下内容:

@{
    Layout = "~/Views/Shared/_Layout.cshtml";
}

如果我们愿意,我们可以改变它。

您还可以通过在其顶部写入主布局视图的 url 来更改某些特定视图主布局:

@{
        Layout = "~/Views/Shared/_CustomMasterLayout.cshtml";
 }
于 2014-08-13T15:26:08.727 回答
1

您可以将其设置为默认值(正如他在第二个示例中所做的那样)或制作自己的“自定义”(他可能从现在开始这样做)。

一旦您了解更多(创建布局表/等),作者可能会进入更多/更好的细节。

于 2014-08-13T15:22:04.023 回答