2011-09-06 57 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