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?

Foi útil?

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
scroll top