asp.net-mvc-3 - 局部变量在 Razor 助手中不起作用

标签 asp.net-mvc-3 razor

此代码可以在 Razor View 中工作,但不能在自定义帮助程序主体和 _Layout.cshtml 中工作:

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

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

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

有人能解释一下这种行为吗?

最佳答案

此代码在 View 和 _layout.cshtml 中都可以正常工作。就助手而言,语法如下:

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

也就是说,应该避免在 View 中声明局部变量和编写 C# 代码。

关于asp.net-mvc-3 - 局部变量在 Razor 助手中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4844439/

相关文章:

c# - 使用动态表达式 API 时验证 ASP.NET MVC 3 Controller 的操作参数

asp.net-mvc - 嵌套对象的远程 ViewModel 验证不起作用

c# - Blazor - 绑定(bind)到服务的属性,由另一个组件更改

c# - 在 Razor MVC3 中使用 ViewModel 在单个 View 中显示多个模型( View 中只有详细信息)

c# - 更改后 View 不刷新

c# - MVC3 中模型 DisplayFormat 的 DataFormat 错误

c# - 我应该如何构建我的 View 模型 - ASP.NET MVC

c# - ASP.NET MVC3 : Force controller to use date format dd/mm/yyyy

razor - 创建简单类并从 cshtml 文件调用方法

c# - Html.LabelFor 指定文本