当我尝试在本地运行我的 C# 应用程序时,我遇到了一个非常奇怪的错误。我是 C# 中的 Web 开发新手,所以我可能会遗漏一些简单的东西。我搜索了一段时间,发现了一些非常相似的问题,但出于同样的原因,我找不到任何出现此错误的人。
在导致错误的 cshtml 文件的顶部,我有以下代码:
我的代码:
@{
var addr = ViewBag.Address;
if (addr == null)
{
throw new InvalidOperationException("Address is null");
}
string addrString = @addr.Street + " " + @addr.City + ", " + @addr.State + " " + @addr.Postal + " " + @addr.Country;
addrString = addrString.Trim();
int lastSpot = addrString.Length - 1;
if (addrString[lastSpot] == ',')
{
addrString = addrString.Remove(lastSpot);
}
}
当我运行它时,我得到了这个错误。如果我删除第二个 if 语句,错误就会消失 错误:
编译器错误消息:CS1513:} 预期
源错误:
Line 619: }
Line 620: }
Line 621:}
当我查看 Razor 生成的文件时,我看到了这一点:注意第二个右括号已被取出:
Line 55: if (addrString[lastSpot] == ',')
Line 56: {
Line 57: addrString = addrString.Remove(lastSpot);
Line 58:
Line 59:
Line 60: #line default
Line 61: #line hidden
Line 62: BeginContext("~/Views/Home/ResolveAddress.cshtml", 438, 268, true);
我不知道为什么第二个大括号没有被识别,任何建议都会很好。另外,我的 cshtml 文件只有 208 行长。
非常感谢!