在_Layout.cshtml中将Layout设置为null

J. *_*fer 5 asp.net-mvc razor

有没有理由要在_Layout.cshtml中将Layout属性设置为null?

例如,像这样,渲染身体视图之前?

    ...
    <section id="content">
        @{ Layout = null; }
        @RenderBody()
    </section>
    ...
Run Code Online (Sandbox Code Playgroud)

对我来说似乎很荒谬,删除行设置不会改变页面加载的工作方式。

什么理由为什么要在_Layout.cshtml中设置Layout属性?

err*_*505 5

如果您想创建一个不会从 _Layout 继承任何布局的局部视图,那么您将使用 @{ Layout = null; 在您的部分视图的开头。


Mst*_*san 5

布局页面也可以具有布局。在嵌套布局中,您有意使用Layout属性定义布局页面的超级布局。默认情况下,如果未指定,则在布局页面中为null。当您使@{Layout=null}您明确地说这是您的最终布局,因此它不嵌套在任何超级布局中。