我刚开始阅读 ASP.NET MVC 4 这本书,遇到了一个问题。在 Razor 部分,作者说如果我不在 View.cshtml 文件中设置 Layout 变量,它将默认搜索 _ViewStart.cshtml,但在另一部分他在 Views/Shared 中使用 _Layout.cshtml,我不明白.
如果我在 View.cshtml 中得到这样的信息:
@{
Layout = null;
}
它告诉我这个 View 没有布局,但是如果我让它像:
@{
}
那么这将使 View 搜索 _ViewStart.cshtml 文件或 _Layout.cshtml 吗?
最佳答案
基本上默认情况下我们在 Views>> Shared >> _Layout.cshtml 中有主布局,这个东西在 _ViewStart.cshtml 中定义,哪个是我们的默认主布局布局。
当我们创建一个主布局 View 时,默认主布局是_Layout.cshtml,但我们可以从_ViewStart.cshtml
当我们写的时候:
@{
Layout = null;
}
在我们的 View 中,我们说这个 View 没有任何主布局,这在我们主要创建局部 View 或没有主布局的独立 View 时使用。
如果您默认打开 _ViewStart.cshtml,它会在其中写入:
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
如果需要,我们可以更改它。
您还可以通过在其顶部写上主布局 View 的 url 来更改某些特定 View 的主布局:
@{
Layout = "~/Views/Shared/_CustomMasterLayout.cshtml";
}
关于c# - ViewStart 和 Layout - 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25290030/