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

xop*_*hiy 5 razor asp.net-mvc-3

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

@{ var v = "foo"; }
@v
Run Code Online (Sandbox Code Playgroud)

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

我使用刚刚下载的Visual Web Developer Express 2010.

任何人都可以解释这种行为吗?

Dar*_*rov 7

此代码在两个视图和_layout.cshtml.就助手而言,这里的语法是:

@helper MyHelper()
{
    var v = "foo";
    @v    
}
@MyHelper()
Run Code Online (Sandbox Code Playgroud)

这就是说应该避免声明局部变量并在视图中编写C#代码.