Razor RenderSection上的条件逻辑

Razor RenderSection上的条件逻辑,razor,Razor,在我的一个模板中,我有以下内容: <aside class="headline image right"> @RenderSection("HeaderImage", required: false) </aside> @RenderSection(“HeaderImage”,必填项:false) 在相应的页面中,我使用此选项填充图像: @section HeaderImage { <img src=

在我的一个模板中,我有以下内容:

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

@RenderSection(“HeaderImage”,必填项:false)
在相应的页面中,我使用此选项填充图像:

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

如果HeaderImage为空/页面模板中未提供,是否有一些简单的条件逻辑可以将整个包含“aside”的内容包装起来,以阻止它输出代码?我只是想找一些尽可能简单明了的东西,我不想把代码放在任何更新文件的人可以随意删除/编辑它的地方。

你可以使用
IsSectionDefined
方法:

@if (IsSectionDefined("HeaderImage"))
{
    <aside class="headline image right">            
        @RenderSection("HeaderImage")
    </aside>
}
@if(IsSectionDefined(“HeaderImage”))
{
@渲染部分(“标题图像”)
}
我现在删除了
required:false
参数,因为我们只在定义了
RenderSection
方法的情况下才调用它。如果未在视图中定义节,您还可以使用
else
条件指定一些默认标记。

非常有用,谢谢!)我以后会记下来的!