我刚刚开始从事一个接管现有程序员代码的项目。这是一个相当大的 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/