Razor синтаксис для визуализации раздела на основе условия - PullRequest
25 голосов
/ 12 мая 2011

Я получил представление с определением Layout. В макете есть раздел:

@RenderSection("JavaScript", required: false)

В представлении, основанном на условии, я хочу либо отобразить определенный JavaScript-код в раздел, либо нет.

@if (condition)
{ 
    @section JavaScript
    {
        <script type="text/javascript>
           $(document).ready(function(){
             //bla...
           });
        </script>
    }
}

Приведенный выше синтаксис неверен. Какой правильный синтаксис?

Редактировать

По сути, я получил частичное представление, которое должно быть отображено на основе условия. Если условие истинно, то мне нужно визуализировать частичное представление вместе с некоторым JavaScript для частичного представления, которое я хочу перейти в раздел «JavaScript». Как я могу это сделать?

Ответы [ 2 ]

49 голосов
/ 12 мая 2011

@section блоки могут появляться только в контексте разметки.

Вы можете написать

@if (condition)
{ 
    <text>
        @section JavaScript
        {
            <script type="text/javascript>
               $(document).ready(function(){
                 //bla...
               });
            </script>
        }
    </text>
}
2 голосов
/ 12 мая 2011

@ if (условие) RenderSection (..)

@Section Javascript{ 
        <script type="text/javascript>
           $(document).ready(function(){
             //bla...
           });
        </script>
}

или в вашем макете:

@RenderSection(..)

и в вашем представлении:

@section Javascript{ 
if(condition) 
{
    <script type="text/javascript">
        $(document).ready(function () {
            //bla...
        });
    </script>
} 
} 

также смотрите: Есть ли способ сделать @section необязательным с помощью asp.net mvc Razor ViewEngine?

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