Petite astuce du lundi matin. Dans une boucle, j’ai eu besoin d’ouvrir un <Div> et de le fermer ce bloc après plusieurs éléments de la boucle. Or Razor ne semble pas capable de pousser son analyse de balisage selon des conditions du code C#.
[cc lang= »csharp » escaped= »true » width= »690″ line_numbers= »0″ theme= »vsdark »] @foreach (var item in myObjects) if (myCondition) { <Div> } else { </Div> } // … } [/cc]
Et bien on ne peut compiler le code. On obtient « Erreur RZ9981 Unexpected closing tag ‘div’ with no matching start tag.«
La petite astuce est d’utiliser soit
[cc lang= »csharp » escaped= »true » width= »690″ line_numbers= »0″ theme= »vsdark »] @((MarkupString) »« )
[/cc]
[/cc]
ou
[cc lang= »csharp » escaped= »true » width= »690″ line_numbers= »0″ theme= »vsdark »] @: