请考虑以下 Razor 组件。
@code
{
private bool isIndex = true;
}
@if (isIndex)
{
<NavLink href="" Match=NavLinkMatch.All>
Index
</NavLink>
}
else
{
<NavLink href="Other">
Other
</NavLink>
}
是否可以使用条件构造来启用呈现与上述相同输出的Match=NavLinkMatch.All
?
<NavLink href=@(isIndex? string.Empty:"Other")>
@(isIndex? "Index": "Other")
</NavLink>
是否可以使用条件构造来启用
Match=NavLinkMatch.All
它是一个具有两个值的枚举。
你可以只使用Match="@(IsIndex ? NavLinkMatch.All : NavLink.Prefix)"
Prefix
是默认值,所以你看不到太多。
但更一般地说:不,只能将 C# 逻辑应用于属性的值。除非你想下拉到BuildRenderTree代码。