Razor syntax to render section based on condition

asp.net-mvc-3razor

I got a view with Layout defined. In the layout, there is a section:

@RenderSection("JavaScript", required: false)

In the view, based on a condition, I want to either render certain JavaScript to the section or not.

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

The above syntax is wrong. What's the correct syntax?

Edit

Basically, I got a partial view which needs to be rendered based on a condition. If the condition is true, then I need to render the partial view together with some JavaScript for the partial view, which I want to go to the "JavaScript" section. How can I do that?

Best Answer

@section blocks can only appear in markup contexts.

You can write

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