RenderSection上的条件逻辑

时间:2012-08-23 09:53:25

标签: razor

在我的一个模板中,我有这个:

<aside class="headline image right">            
    @RenderSection("HeaderImage", required: false)              
</aside>

在相应的页面中,我使用它来填充图像:

@section HeaderImage { <img src="whatever.jpg" alt="" /> }

是否有一些简单的条件逻辑可以包含整个包含'旁边'的整体来阻止它输出代码如果HeaderImage保留为空/在页面模板中没有提供?只是寻找一些尽可能直接和简单的东西,因为我不想在有人更新文件的任何地方包含旁边的代码,可以随机删除/编辑它等。

1 个答案:

答案 0 :(得分:1)

您可以使用IsSectionDefined方法:

@if (IsSectionDefined("HeaderImage"))
{
    <aside class="headline image right">            
        @RenderSection("HeaderImage")
    </aside>
}

我现在删除了required: false参数,因为我们只有在定义了RenderSection方法时才调用它。如果未在视图中定义该部分,您还可以使用else条件指定一些默认标记。