如何在剃刀中逃避花括号(例如,定义一个数组)

时间:2013-03-29 14:58:45

标签: 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数组?

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

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

@{  
    ViewBag.Title = "_Navigation";
    var action = @ViewContext.RouteData.GetRequiredString("action");  
    var foo = new string[]{"foo", "bar"};
}

并以某种方式在我的行之前的@符号让编译器抱怨。我不知道为什么@在那里 - 代码不是来自我...好吧,它现在有效。

非常感谢。

1 个答案:

答案 0 :(得分:0)

你如何定义阵列没有错。

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

打印

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