2010-12-16 25 views
62
@foreach (string s in "1,2,3".Split(',')) { 
    s is equal to @s<br/> 
} 

quiero escupir: s es igual a 1 s es igual a 2 s es igual a 3afeitar sintaxis - bucle foreach

Pero me estoy poniendo todo tipo de errores, ya que Visual Studio piensa que lo que está entre los {} 's es el código, pero quiero que sea un marcado.

Respuesta

107

acabamos de ver este on ScottGu's blog this morning: utilizar @: antes de esa línea:

@foreach (string s in "1,2,3".Split(',')) { 
    @: s is equal to @s<br/> 
} 

Como alternativa, utilice el <text /> etiqueta:

@foreach (string s in "1,2,3".Split(',')) { 
    <text>s is equal to @s<br/></text> 
} 
+0

'' es bueno para líneas múltiples. – crush

5
@foreach (string s in "1,2,3".Split(',')) { 
    <text>s is equal to </text>@s<br/> 
} 

creo que es porque se está analizando el texto fuera de soportes, de modo que la afeitadora está pensando que es un código, pruebe a utilizar la etiqueta de texto de afeitar anteriormente, este analiza exactamente el mismo que @ : pero (al menos para mí) es un poco más intuitivo (no analizará las etiquetas)