Razor语法根据条件呈现部分

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Razor语法根据条件呈现部分相关的知识,希望对你有一定的参考价值。

我得到了一个定义布局的视图。在布局中,有一个部分:

@RenderSection("javascript", required: false)

在视图中,基于条件,我想要将某些JavaScript呈现给该部分。

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

上面的语法错了。什么是正确的语法?

编辑

基本上,我得到了一个部分视图,需要根据条件进行渲染。如果条件为真,那么我需要将局部视图与部分视图的JavaScript一起呈现,我想转到“JavaScript”部分。我怎样才能做到这一点?

答案

@section块只能出现在标记上下文中。

你可以写

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

@if(condition)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>
} 
} 

另见:Is there a way to make a @section optional with the asp.net mvc Razor ViewEngine?

以上是关于Razor语法根据条件呈现部分的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET Razor - C# 逻辑条件

我可以通过使用 Razor Pages 指定相对路径来在局部视图中呈现另一个局部视图吗?

在 Blazor (.razor) 组件中添加多个组件

Razor语法大全

Razor语法大全

SQL Prompt7.2下载及破解教程