Синтаксис Razor для рендеринга на основе условия
У меня есть представление с макетом. В макете есть раздел:
@RenderSection("JavaScript", required: false)
В представлении, основанном на условии, я хочу либо отредактировать определенный JavaScript в этом разделе, либо нет.
@if (condition)
{
@section JavaScript
{
<script type="text/javascript>
$(document).ready(function(){
//bla...
});
</script>
}
}
Указанный выше синтаксис неверен. Какой правильный синтаксис? Спасибо!
EDIT: В принципе, у меня есть частичное представление, которое нужно визуализировать на основе условия. Если условие истинно, тогда мне нужно отобразить частичный вид вместе с некоторым JavaScript для частичного представления, которое я хочу перейти в раздел "JavaScript". Как я могу это сделать? Каков правильный синтаксис?
Ответы
Ответ 1
@section
блоки могут появляться только в контекстах разметки.
Вы можете написать
@if (condition)
{
<text>
@section JavaScript
{
<script type="text/javascript>
$(document).ready(function(){
//bla...
});
</script>
}
</text>
}
Ответ 2
@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?