Blazor-c绑定的布尔开关中的HTML标记



我想根据bool在按钮上下文中添加一个图标。

如何在c绑定的bool开关中实现HTML标记?

<button type="button"> 
@(SwitchBool? "Save" : @"<i class='u0022'fa fa-pen'u0022'></i>")
</button>

我不认为C#喜欢对三进制的输出有不同的类型。但是,您可以构建您想要的任何字符串,并将其转换为MarkupString

@((MarkupString)(SwitchBool ? "Save" : "<i class='fa fa-pen'/>"))

不过,我不喜欢这样,因为你真的必须处理整条线才能理解它在做什么。我宁愿多写几行来写一个条件语句。另外,给你的bool一个有意义的名字:

<button>
@if (ReadyToSave)
{
<span>"Save"</span>
}
else 
{
<i class='fa fa-pen'/>
}
</button>

if . . . else可以被塞进一行,但我真的不建议这样做。

你可以这样做:

<button type="button" @onclick="() => SwitchBool = !SwitchBool"> 
@if(SwitchBool)
{
<text>Save</text>
}
else
{
<i class="fa fa-pen"></i>
}
</button>
@code {
private bool SwitchBool;
}

相关内容

  • 没有找到相关文章

最新更新