2010-12-16 88 views
55
@{ int i = 4; } 
@foreach (string s in "1,2,3".Split(',')) { 
    @:s is equal to @s 
    @{ i++; } 
} 
@{ int i = 4; } 
@foreach (string s in "1,2,3".Split(',')) { 
    @:s is equal to @s 
    @{ i++; } 
} 

我得到「方法沒有重載」寫'取0參數「在@ {i ++; }代碼行。有什麼想法嗎?謝謝!剃刀:沒有過載的方法'寫'需要0個參數

回答

77

試試這個:

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

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

我想弄清楚爲什麼這個工程:一旦你的代碼的時候,你不需要@ {}了。您使用「@:」進入Markup,但將其留在行末,以便再次回到代碼中。 – 2010-12-17 17:41:27

相關問題