我刚刚开始阅读ASP.NET MVC 4书,并有一个问题.在Razor部分作者说,如果我没有在View.cshtml文件中设置Layout变量,它将默认搜索_ViewStart.cshtml,但在另一部分他在Views / Shared中使用_Layout.cshtml,我没有得到它.
如果我在View.cshtml中有这样的smth:
@{ Layout = null; }
它告诉这个视图没有布局,但如果我这样做:
@{ }
解决方法
基本上默认情况下,我们在Views>>共享>> _Layout.cshtml,这个东西在_ViewStart.cshtml中定义,哪个是我们的默认主版本.
当我们在默认情况下创建一个主版式的视图时,它的主版本是_Layout.cshtml,但是我们可以从_ViewStart.cshtml
当我们写:
@{ Layout = null; }
在我们看来,我们认为这个视图没有任何主布局,当我们主要创建部分视图或者没有主布局的独立视图时,这个视图是使用的.
如果你默认打开_ViewStart.cshtml,它写在它中:
@{ Layout = "~/Views/Shared/_Layout.cshtml"; }
如果我们想要,我们可以改变它.
您还可以通过在其上写入主版面视图的URL来更改某些特定视图主版面:
@{ Layout = "~/Views/Shared/_CustomMasterLayout.cshtml"; }