将@section放在@if .net mvc 3中

Chr*_*son 4 .net if-statement razor asp.net-mvc-3

我似乎无法让这个工作.

@if (isReal)
{
    @section Navigation{
        @{Html.RenderPartial("NavigationForInput");}
    }
}
Run Code Online (Sandbox Code Playgroud)

这是行不通的,因为它说"一旦内部代码你不需要@ blah blah blah"

但是,当我删除部分前面的@from时,它希望将section用作类型变量.

我怎样才能有条件地显示该部分?

小智 5

根据您的布局是否有未定义部分的替代,您可以反转@if@section

@section Navigation{
{
    @if (isReal)
        @{Html.RenderPartial("NavigationForInput");}
    } 
}
Run Code Online (Sandbox Code Playgroud)

如果您只是想省略导航,这应该没问题,但是如果您在布局中使用IsSectionDefined("Navigation")它将无法工作,因为它将始终返回true.