【问题标题】:Why is my razor view complaining "} expected" after upgrade to razor 2 / mvc 4?为什么升级到 razor 2 / mvc 4 后,我的 razor 视图会抱怨“} 预期”?
【发布时间】:2012-09-01 07:27:28
【问题描述】:

我有一个现有的 razor 1 / mvc 3 视图,有几个嵌套的 if - 非常简单,但升级到 razor 2 / mvc 4 后,它在运行时抱怨并编译 (BuildViews) 关于 } expected .它以前工作得很好。

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

有什么问题?

【问题讨论】:

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


    【解决方案1】:

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

    string foo = @Some.Complex.Expression;
    

    注意@那里是多余的和不正确的,但是剃须刀1不​​会抱怨。但是,razor 2 比较挑剔,比较混乱,报} expected 错误。此行应替换为:

    string foo = Some.Complex.Expression;
    

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

    【讨论】:

    • 谢谢。这完全挽救了我的一天。如果你这样做var @class = "something"; 也会出现同样的问题
    • 继承了一些旧代码,这救了我的命。太糟糕了 VS2013 不能告诉你这个错误在你的 cshtml 文件中真正发生在哪里。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-04
    • 2012-11-30
    相关资源
    最近更新 更多