@foreach (string s in "1,2,3".Split(',')) {
s is equal to @s<br/>
}
Je veux cracher: s est égal à 1 s est égal à 2 s est égal à 3
Mais je reçois toutes sortes d'erreurs parce que Visual Studio pense que ce qui est entre les {} est du code, mais je veux que ce soit du balisage.
Je viens de voir cela sur le blog de ScottGu ce matin : utilisez @:
avant cette ligne:
@foreach (string s in "1,2,3".Split(',')) {
@: s is equal to @s<br/>
}
Vous pouvez également utiliser le <text />
tag:
@foreach (string s in "1,2,3".Split(',')) {
<text>s is equal to @s<br/></text>
}
Scott Guthrie vient de répondre à cette question ce matin .
Remplacez-le par
@foreach (string s in "1,2,3".Split(',')) {
@: s is equal to @s<br/>
}
@foreach (string s in "1,2,3".Split(',')) {
<text>s is equal to </text>@s<br/>
}
Je pense que c'est parce que vous analysez du texte en dehors des crochets, donc Razor pense que c'est du code, essayez d'utiliser la balise de texte de rasoir ci-dessus, cela analyse exactement la même chose que @: mais (pour moi au moins) est un peu plus intuitif (il ne pas analyser les balises)