2011-09-06 80 views
1

我得到錯誤:MVC3 - 在剃刀內定義輔助方法是否合法?

CS1513: } expected

我看不出有任何遺漏括號。根據我的經驗,剃刀分析器有時會因爲確定HTML和C#而絆倒,所以我用一點鹽來解決這些錯誤。

我做了一些修改,即我添加了一個輔助方法。通過剃鬚刀在視圖中定義方法實現是否合法?例如。

@{ 
       protected string MyHelper(int ItemNumber, int RowNumber, int ColumnNumber) 
       { 
        string irc = ""; 
        irc += "i" + ItemNumber; 
        irc += "r" + RowNumber; 
        irc += "c" + ColumnNumber; 
        return irc; 
       } 
} 

回答

7

剃刀實際上有一個內置的輔助結構:

@helper greet(string s) { 
    <span>Hi there, @s!</span> 
} 
+0

我不知道。非常酷,有用。 –

+0

+1 - 這是有用的信息。我將上面的方法轉換爲使用helper關鍵字。不幸的是,我仍然有同樣的錯誤,因此我不能選擇這個作爲答案。這也不能直接回答我的原始語法是否合法的問題。 –

+1

這是不合法的,因爲'@ {...}'構造在方法級別,而不是級別級別。如果你願意,你可以定義一個「動作<...>」,但僅此而已。 – Blindy