web-dev-qa-db-fra.com

Syntaxe d'opérateur conditionnel Razor If / Else

N'ayant pas beaucoup de chance, j'ai la déclaration suivante if/else dans Razor qui fonctionne parfaitement

<small>
  @if(deletedView){
     @:Deleted
  } 
  else {
     @:Created
  } by
</small> 

J'essaie de faire quelque chose comme ça:

<small>
  @(deletedView) ? @:Deleted : @:Created by
</small>

Mais cela échoue lamentablement. Quelle est la syntaxe appropriée?

92
B Z

Vous devez mettre l'expression ternaire entière entre parenthèses. Malheureusement, cela signifie que vous ne pouvez pas utiliser "@:", mais vous pouvez faire quelque chose comme ceci:

@(deletedView ? "Deleted" : "Created by")

Razor prend actuellement en charge un sous-ensemble d'expressions en C # sans utiliser @ () et, malheureusement, les opérateurs ternaires ne font pas partie de cet ensemble.

176