.net - 为什么升级到 razor 2/mvc 4 后我的 razor View 提示 "} expected"?

标签 .net asp.net-mvc razor asp.net-mvc-4

我有一个现有的 razor 1/mvc 3 View ,有一些嵌套的 if - 非常简单,但是在升级到 razor 2/mvc 4 后,它在运行时提示并编译( BuildViews )关于 } expected .它曾经工作得很好。

  • 我检查了所有元素是否格式正确/已关闭
  • 我检查了所有 {/}是平衡的 - 这不是文件结尾问题

  • 有什么问题?

    最佳答案

    在 razor 2/mvc 4 升级中修复了许多遗留的 razor 奇怪问题;一个有趣的问题是,在 razor 1 中,以下内容是合法的(在代码区域中):

    string foo = @Some.Complex.Expression;
    

    请注意 @有多余的和不正确的,但 Razor 1不​​提示。然而,razor 2 更加挑剔并且变得困惑,报告 } expected错误。此行应替换为:
    string foo = Some.Complex.Expression;
    

    这有点微妙,因为发生的错误与大括号( {/} )无关,并且可能与报告的行相距几行。

    关于.net - 为什么升级到 razor 2/mvc 4 后我的 razor View 提示 "} expected"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12317655/

    相关文章:

    .net - 不支持 C++/CLI 使用 Action<...,...> 和 Func<...>?

    jquery - PartialView 和不显眼的客户端验证不起作用

    c# - 渲染 LabelFor 不显示覆盖的 getter 函数

    c# - 无法加载类型 mvc c#

    c# - MVC 3 Entity Framework 空结果集

    .net - 创建包含 .Net Framework 3.5 SP1 的安装项目

    c# - 如何在 C# 中打印多页

    asp.net-mvc - Orchard CMS 速度问题

    jquery - MVC 4 Ajax 帖子不工作

    javascript - Razor 语法 : Output string array in specific index