局部变量在Razor助手中不起作用

时间:2011-01-30 17:46:47

标签: asp.net-mvc-3 razor

此代码在Razor Views中有效,但在自定义助手体内和_Layout.cshtml中无效:

@{ var v = "foo"; }
@v

错误消息:“元素v在当前上下文中不存在”

我刚刚下载了Visual Web Developer Express 2010。

有人可以解释这种行为吗?

1 个答案:

答案 0 :(得分:7)

此代码在两个视图和_layout.cshtml中均可正常运行。就助手而言,这里的语法是:

@helper MyHelper()
{
    var v = "foo";
    @v    
}
@MyHelper()

应该避免声明局部变量并在视图中编写C#代码。