升级到razor 2 / mvc 4后,为什么我的剃刀视图抱怨“}预期”?

时间:2012-09-07 11:58:31

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

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

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

有什么不对?

1 个答案:

答案 0 :(得分:40)

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

string foo = @Some.Complex.Expression;

请注意@多余且不正确,但剃刀1不会抱怨。然而,剃刀2更加挑剔并且感到困惑,报告了} expected错误。该行应替换为:

string foo = Some.Complex.Expression;

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