开发者

razor syntax - foreach loop

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

I want to spit out: s is equal to 1 s is equal to 2 s is equal to 3

But I'm getting all sorts of errors because Visual Studio thinks that what is between the {}'s is code, but开发者_如何转开发 I want it to be markup.


Just saw this on ScottGu's blog this morning: use @: before that line:

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

Alternately, use the <text /> tag:

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


Scott Guthrie just answered that this morning.
Change it to

@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/>
}

I think it is because you are parsing text outside of brackets so Razor is thinking it is code, try using the razor text tag above, this parses exactly the same as @: but (for me at least) is a bit more intuitive (it won't parse the tags)

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜