Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何避开razor中的大括号(例如,定义数组)_C#_Asp.net Mvc_Arrays_Razor_Curly Braces - Fatal编程技术网

C# 如何避开razor中的大括号(例如,定义数组)

C# 如何避开razor中的大括号(例如,定义数组),c#,asp.net-mvc,arrays,razor,curly-braces,C#,Asp.net Mvc,Arrays,Razor,Curly Braces,在Razor视图中,我可以轻松定义数组 @{ ViewBag.Title = "_Navigation"; var foo = new string[0]; } 但是如果我想定义字符串的元素,自然的方法是 @{ ViewBag.Title = "_Navigation"; var foo = new string[]{"foo", "bar"}; } 后者不起作用。你能告诉我为什么以及如何正确定义我的foo数组吗 ================编辑=

在Razor视图中,我可以轻松定义数组

@{  
    ViewBag.Title = "_Navigation";
    var foo = new string[0];
}
但是如果我想定义字符串的元素,自然的方法是

@{  
    ViewBag.Title = "_Navigation";
    var foo = new string[]{"foo", "bar"};
}
后者不起作用。你能告诉我为什么以及如何正确定义我的foo数组吗

================编辑============

你完全正确,没有错。我实际使用的代码是

@{  
    ViewBag.Title = "_Navigation";
    var action = @ViewContext.RouteData.GetRequiredString("action");  
    var foo = new string[]{"foo", "bar"};
}
不知何故,我所说的那行前面的@符号引起了编译器的抱怨。我不知道为什么@在那里-代码不是我写的。。。好的,现在可以了


无论如何,谢谢。

定义数组的方式没有问题

@{
    ViewBag.Title = "_Navigation";
    var foo = new string[]{"foo", "bar"};
}
...
@foreach(var f in foo)
{
    <span>@f</span>
}
印刷品

<span>foo</span><span>bar</span>

它对我有用。你的代码中肯定还有其他东西导致了语法分析器的崩溃。你能为不起作用提供一些定义吗?基本上,我也有同样的问题,显然我犯了与你完全相同的错误,不必要的@prefix!如果没有这个问题,我仍然会试图找出问题所在!