2

我刚开始做一个项目来接管现有程序员的代码。这是一个相当大的 ASP.NET 网页项目,它使用带有 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 可以使用。我在想我的客户可能有不同的版本。任何帮助表示赞赏。谢谢。

4

1 回答 1

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('.');
于 2012-11-12T18:14:08.140 回答