Asp.net mvc 3 MVC3-在razor中定义助手方法合法吗?
我得到一个错误:Asp.net mvc 3 MVC3-在razor中定义助手方法合法吗?,asp.net-mvc-3,Asp.net Mvc 3,我得到一个错误: CS1513:}应为 我没有看到任何缺少的括号。根据我的经验,razor解析器有时会在确定HTML与C#时出错,因此我对这些错误持保留态度 我做了一些修改,即添加了一个helper方法。通过razor在视图中定义方法实现是否合法?例如 @{ protected string MyHelper(int ItemNumber, int RowNumber, int ColumnNumber) {
CS1513:}应为
我没有看到任何缺少的括号。根据我的经验,razor解析器有时会在确定HTML与C#时出错,因此我对这些错误持保留态度
我做了一些修改,即添加了一个helper方法。通过razor在视图中定义方法实现是否合法?例如
@{
protected string MyHelper(int ItemNumber, int RowNumber, int ColumnNumber)
{
string irc = "";
irc += "i" + ItemNumber;
irc += "r" + RowNumber;
irc += "c" + ColumnNumber;
return irc;
}
}
Razor实际上有一个内置的助手构造:
@helper greet(string s) {
<span>Hi there, @s!</span>
}
@helper问候语(字符串s){
你好,@s!
}
Razor实际上有一个内置的助手结构:
@helper greet(string s) {
<span>Hi there, @s!</span>
}
@helper问候语(字符串s){
你好,@s!
}
+1-这是有用的信息。我将上面的方法转换为使用helper关键字。不幸的是,我仍然有同样的错误,因此我还不能选择这个作为答案。这也不能直接回答我的原始语法是否合法的问题。它不合法,因为@{…}
构造在方法级别,而不是类级别。如果你愿意,你可以定义一个动作
,但仅此而已。至于为什么它不起作用,不确定,一个简单的@:i@ItemNumber@:r@RowNumber@:c@ColumnNumber
帮助器内部应该可以执行此操作。确保不添加返回值。@Blindy:原因是您在razor文件中输入的文本“进入”到代码生成类中的方法中。@{}部分将作为代码“复制/粘贴”,其余部分必须嵌入某种写(“”)调用中。这个生成的类最终被编译,如果您做了一些错误的事情,您可以看到与这个代码生成的文件相关的编译错误。因此,如果你试图在另一个方法体中编写一个方法声明,你会得到同样的C#编译器错误(因为这就是发生的情况)。我是否暗示我没有意识到这一点?+1-这是有用的信息。我将上面的方法转换为使用helper关键字。不幸的是,我仍然有同样的错误,因此我还不能选择这个作为答案。这也不能直接回答我的原始语法是否合法的问题。它不合法,因为@{…}
构造在方法级别,而不是类级别。如果你愿意,你可以定义一个动作
,但仅此而已。至于为什么它不起作用,不确定,一个简单的@:i@ItemNumber@:r@RowNumber@:c@ColumnNumber
帮助器内部应该可以执行此操作。确保不添加返回值。@Blindy:原因是您在razor文件中输入的文本“进入”到代码生成类中的方法中。@{}部分将作为代码“复制/粘贴”,其余部分必须嵌入某种写(“”)调用中。这个生成的类最终被编译,如果您做了一些错误的事情,您可以看到与这个代码生成的文件相关的编译错误。因此,如果你试图在另一个方法体中编写一个方法声明,你会得到同样的C#编译器错误(因为这就是发生的情况)。我是否暗示我没有意识到这一点?