Razor:方法'Write'没有重载需要0个参数

Ian*_*vis 55 c# razor

@{ int i = 4; }
@foreach (string s in "1,2,3".Split(',')) {
   @:s is equal to @s
   @{ i++; }
}
Run Code Online (Sandbox Code Playgroud)

@ {i ++;我得到"方法没有重载''写'需要0参数' 代码行.有什么想法吗?谢谢!

Zot*_*ote 77

试试这个:

@{ int i = 4; }
@foreach (string s in "1,2,3".Split(',')) {
   @:s is equal to @s
   i++
}
Run Code Online (Sandbox Code Playgroud)

要么

@{ int i = 4; }
@foreach (string s in "1,2,3".Split(',')) {
   <text>is equal to @s</text>
   i++;
}
Run Code Online (Sandbox Code Playgroud)

  • 只是为了澄清为什么这样做:一旦你在代码中,你就不再需要@ {}了.你用"@:"进入Markup,但是把它放在行的末尾,这样你就可以重新进入代码了. (39认同)