我有一个HTML标记,我想只在条件为真时才可见,否则它将被隐藏。为此,我尝试使用Razor更改style
属性,但仍然无法执行此操作。
请注意:我不想使用JQuery,我只想使用Razor。
我怎么能这样做?
尝试
<!--it will only visible if the conditional true-->
<div class="form-group" @(usuario.role == RoleType.Investidor) ? style="display:none;" : style="display:normal;">
<h1>Description</h1>
</div>
答案 0 :(得分:2)
您可以尝试做类似的事情:
@if (usuario.role != RoleType.Investidor)
{
<div class="form-group" style="display: normal">
<h1>Description</h1>
</div>
}
如果RoleType
等于Investidor
,则div将不会显示。
如果这个元素的存在对你很重要,你可以这样做:
@if (usuario.role != RoleType.Investidor)
{
<div class="form-group" style="display: normal">
<h1>Description</h1>
</div>
} else {
<div class="form-group" style="display: none">
<h1>Description</h1>
</div>
}
答案 1 :(得分:1)
我会假设这样的事情有效:
<div class="form-group" style="@(usuario.role == RoleType.Investidor ? "display: none" : string.Empty)">
<h1>Description</h1>
</div>
将三元语句移动到style
的属性值中。您也可以将string.Empty
替换为null
- 取决于上下文,这可能使Razor引擎省略该属性,而不是呈现空值。