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
条件指定一些默认标记。非常有用,谢谢!)我以后会记下来的!