Razor语法错误

时间:2012-11-12 18:07:26

标签: c# asp.net razor web

我刚刚开始研究一个项目来接管现有程序员的代码。这是一个相当大的ASP.NET Web页面项目,它使用带有c#的Razor语法。显然代码可以在客户端的机器上运行,但是,当我在本地机器上加载代码时,我会收到一些语法错误。错误似乎表明它认为它错过了我的代码底部的大括号。我已将语法错误缩小到以下代码:

            @{
              string[] sOption = {"", "0"};
              var sDescription = @Id.iDescription;
              if (sDescription == null) {}
              else {sOption = sDescription.Split('.');}
             }

当我将语法更改为:

            @{
              string[] sOption = {"", "0"};
              var sDescription = @Id.iDescription;
              if (sDescription != null)
                 sOption = sDescription.Split('.');
             }

它有效。

任何想法,为什么这首先导致问题。解析器有问题吗?是否有不同的Razor可以使用。我在想我的客户可能有不同的版本。任何帮助赞赏。感谢。

1 个答案:

答案 0 :(得分:0)

此处的第一个示例代码中没有错误。

第二个有错误: Block statements must be enclosed in "{" and "}"

我更改了您的示例代码以包含缺失的变量。

第一个示例在这里工作

          var @Id = new { iDescription = (string)null};
          string[] sOption = {"", "0"};
          var sDescription = @Id.iDescription;
          if (sDescription == null) {}
          else {sOption = sDescription.Split('.');}

第二个示例语法错误

          var @Id = new { iDescription = (string)null};
          string[] sOption = {"", "0"};
          var sDescription = @Id.iDescription;
          if (sDescription != null)
              sOption = sDescription.Split('.');