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

chcę wypluć: S jest równa 1 s jest równe 2 s jest równa 3brzytwa składnia - pętla foreach

Ale Dostaję wszystkie rodzaje błędów, wizualna Studio uważa, że ​​między {} jest kod, ale chcę, żeby był znacznikiem.

Odpowiedz

107

prostu zobaczyłem to on ScottGu's blog this morning: użyj @: przed tą linią:

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

Alternatywnie, użyj <text /> tag:

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

'' jest ładne dla wielu linii. – crush

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

Myślę, że to dlatego, że podczas analizowania tekstu poza nawiasy tak Razor myśli jest kod, spróbuj użyć powyżej znacznika tekstu brzytwa ta analizuje dokładnie taka sama jak @ : ale (dla mnie przynajmniej) jest nieco bardziej intuicyjny (nie będzie parsować tagów)