视图如何知道要使用哪种布局?默认在哪里?

Ali*_*hşi 8 asp.net-mvc layout razor

在默认的mvc应用程序中.有布局和内容页面,你知道(_Layout,Home,Contact等)

内容页面不包含布局参考,因为:

Layout = "~/Views/Shared/_Layout.cshtml";
Run Code Online (Sandbox Code Playgroud)

在内容页面中,此代码丢失.但他们的工作.没有布局参考,它如何做到这一点?

Val*_*mas 11

因为您_ViewStart.cshtml包含对默认布局的引用,当在视图中未声明特定布局时将使用该布局.

如果要更改单个视图的布局,可以Layout = "...";在该视图中包含a .


Pra*_*war 5

如果您想要特定于文件夹的布局,例如(主页,帐户,产品等),您可以将_ViewStart.cshtml放在该文件夹中并指出要在该文件中使用的任何布局,它将覆盖根级别布局.

查找ScottGu的博客上的布局及部分更多的细节在这里这里