c# - Razor 语法错误

标签 c# asp.net razor web

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

最佳答案

这里的第一个示例代码没有错误。

第二个有错误: block 语句必须用“{”和“}”括起来

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

第一个示例在这里工作

          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('.');

关于c# - Razor 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13349060/

相关文章:

asp.net - 系统.Data.OleDb.OleDbException : No value given for one or more required parameters

asp.net - 如何在String.Format中使用模型数据?

Javascript 显示代码而不是执行

asp.net-mvc - Knockout Js、JQuery UI 对话框和部分 View

c# - 在 VS 2010 中运行和运行构建的 EXE 有什么区别?

c# - 相当于 Actions 和 Func 的 Tuple.Create

c# - 这个错误是什么意思 : stale element reference: element is not attached to the page document?

c# - 通知 Visual Studio 通过反射调用的代码

c# - 由于换行符,正则表达式无法工作?

c# - 正则表达式日期和时间