Sintaxe do operador condicional de Razor IF/else [duplicado
-
25-09-2019 - |
Pergunta
Esta pergunta já tem uma resposta aqui:
Não tendo muita sorte, tenho o seguinte declaração se/else em Razor, que funciona perfeitamente
<small>
@if(deletedView){
@:Deleted
}
else {
@:Created
} by
</small>
Estou tentando fazer algo assim:
<small>
@(deletedView) ? @:Deleted : @:Created by
</small>
Mas isso falha miseravelmente. Qual é a sintaxe adequada?
Solução
Você precisa colocar toda a expressão ternária entre parênteses. Infelizmente, isso significa que você não pode usar "@:", mas você pode fazer algo assim:
@(deletedView ? "Deleted" : "Created by")
Atualmente, a Razor suporta um subconjunto de expressões C# sem usar @() e, infelizmente, os operadores ternários não fazem parte desse conjunto.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow