поместив раздел @ внутри @if .net mvc 3 - PullRequest
4 голосов
/ 17 октября 2011

Кажется, я не могу заставить это работать.

@if (isReal)
{
    @section Navigation{
        @{Html.RenderPartial("NavigationForInput");}
    }
}

, что не работает, потому что говорит "однажды внутри кода вам не нужно @ бла-бла-бла"

, но, когда я удаляю символ @ перед разделом, он хочет использовать раздел в качестве переменной типа.

как я могу только показать этот раздел условно?

Ответы [ 3 ]

5 голосов
/ 17 октября 2011

В зависимости от того, есть ли у вашего макета альтернатива для неопределенных секций или нет, вы можете просто поменять местами @if и @section

@section Navigation{
{
    @if (isReal)
        @{Html.RenderPartial("NavigationForInput");}
    } 
}

Если вы просто хотите пропустить навигацию, это должно быть хорошо, но это не будет работать, если вы используете IsSectionDefined ("Navigation") в вашем макете, так как он всегда будет возвращать true.

4 голосов
/ 14 марта 2013

Идея:

@if (Condition)
{
    <text>
    @section SectionName {

    }
    </text>
}

Вот код:

@if (isReal)
{
    <text>
    @section Navigation{
        @{Html.RenderPartial("NavigationForInput");}
    }
    </text>
}

Удачного кодирования!

1 голос
/ 17 октября 2011

Конструкция

@section Name {
}

используется для определения сечения.Для рендеринга раздела вы используете метод RenderSection().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...