ViewStart和Layout有什么区别?

本文关键字:区别 什么 Layout ViewStart | 更新日期: 2023-09-27 18:17:55

我刚刚开始阅读ASP。NET MVC 4的书,有一个问题。在Razor部分作者说,如果我不设置视图中的布局变量。cshtml文件将默认搜索_ViewStart。cshtml,但在另一部分他使用_Layout。cshtml在视图/共享,我不明白它。

如果我在视图中得到这样的smith。cshtml:

@{
     Layout = null;
 }

它告诉这个视图没有布局,但是如果我把它做成:

@{
 }

这将使视图搜索_ViewStart。cshtml文件或_Layout.cshtml?

ViewStart和Layout有什么区别?

基本上默认情况下,我们在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";
 }

你可以将它设置为默认值(就像他在第二个例子中所做的那样),或者创建你自己的"自定义"值(他可能从现在开始这样做)。

一旦你学到了更多(创建布局表等),作者可能会给你更多/更好的细节。