@foreach (string s in "1,2,3".Split(',')) {
s is equal to @s<br/>
}
我想吐出来: s等于1 s等于2 s等于3
但是我遇到了各种各样的错误,因为Visual Studio认为{}之间的代码是代码,但我希望它是标记。
答案 0 :(得分:107)
刚看到这个on ScottGu's blog this morning:在该行之前使用@:
:
@foreach (string s in "1,2,3".Split(',')) {
@: s is equal to @s<br/>
}
或者,使用<text />
标记:
@foreach (string s in "1,2,3".Split(',')) {
<text>s is equal to @s<br/></text>
}
答案 1 :(得分:18)
Scott Guthrie just answered that this morning。
将其更改为
@foreach (string s in "1,2,3".Split(',')) {
@: s is equal to @s<br/>
}
答案 2 :(得分:5)
@foreach (string s in "1,2,3".Split(',')) {
<text>s is equal to </text>@s<br/>
}
我认为这是因为你正在解析括号之外的文本,所以Razor认为它是代码,尝试使用上面的剃刀文本标签,这解析与@完全相同:但是(至少对我而言)是多一点直观(它不会解析标签)