Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 在_Layout.cshtml中将布局设置为null_Asp.net Mvc_Razor - Fatal编程技术网

Asp.net mvc 在_Layout.cshtml中将布局设置为null

Asp.net mvc 在_Layout.cshtml中将布局设置为null,asp.net-mvc,razor,Asp.net Mvc,Razor,是否有理由在_Layout.cshtml中将布局属性设置为null? 例如,像这样,在渲染实体视图之前 ... <section id="content"> @{ Layout = null; } @RenderBody() </section> ... 。。。 @{Layout=null;} @RenderBody() ... 这对我来说似乎很荒谬,删除行设置布局并不会改变页面加载的工作方式 是否有任何

是否有理由在_Layout.cshtml中将布局属性设置为null?

例如,像这样,在渲染实体视图之前

    ...
    <section id="content">
        @{ Layout = null; }
        @RenderBody()
    </section>
    ...
。。。
@{Layout=null;}
@RenderBody()
...
这对我来说似乎很荒谬,删除行设置布局并不会改变页面加载的工作方式


是否有任何原因需要在_Layout.cshtml中设置布局属性?

如果要创建一个不会从_Layout继承任何布局的局部视图,则在局部视图的开头使用@{Layout=null;}。

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

我知道这是一个旧线程,但我的问题通过这个技巧解决了! 我想在这里分享我的解决方案

  • 首先将
    \u ViewStart.cshtml
    更改为:

    @{
    如果(布局!=“”)
    {
    Layout=“~/Views/Shared/_Layout.cshtml”;
    }
    }

正如您所看到的,
Layout
是一个属性,我们将检查它是否不等于

  • 接下来,您必须将其添加到视图中

    @{
    布局=”;
    }


没有布局,您将拥有愉快的视图

是的,通过将布局设置为null,可以删除在视图中转换视图的布局partial@Jorge-您是说您会在分部中使用这样一条线,还是说使用这样一条线会影响RenderBody()中的分部?在a_Layout.cshtml中使用它似乎令人困惑。