2011-01-02 2 views
50

Im en utilisant ce à mon avis et pour son affichage que « Oui » ou « Non » mais son affichage False?"yes":"No"sténographie si d'autre avec rasoir

@myPosts.Contains(item.ID)?"Yes":"No" 

Quel est le problème ici?

+0

Voici une autre série de réponses: http://stackoverflow.com/questions/4091831/how-to-use-ternary-operator-in-razor-specifically-on-html-attributes –

+1

Pour votre lecture attentive : Les cerveaux derrière la syntaxe du rasoir. C'est très probablement tout ce que vous avez toujours voulu savoir sur le rasoir et plus encore: http://channel9.msdn.com/shows/Going+Deep/Andrew-Nurse-Inside-Razor/ – MrBoJangles

Répondre

96

Vous devez parenthèses à utiliser une expression:

@(myPosts.Contains(item.ID)?"Yes":"No") 
+0

+1 - Battez-moi. – Oded

8

Vous pouvez même sténographie nid si à l'intérieur d'un autre raccourci si!

@(myPosts != null ? (myPosts.Contains(item.ID) ? "Yes" : "No") : "Null") 
+1

qui est une sorte d'utilisation complète lorsqu'il s'agit de valeurs NULL: '@ (myObject.NullableBool! = Null? (MyObject.NullableBool?" Oui ":" Non "):" Que saurais-je .. ")' – Vegar