2013-03-29 4 views
1

В Razor просмотра я могу определить массив легкоКак избежать фигурные скобки в бритве (например, чтобы определить массив)

@{ 
    ViewBag.Title = "_Navigation"; 
    var foo = new string[0]; 
} 

Но если я хочу, чтобы определить элементы строки, то естественным образом будет

@{ 
    ViewBag.Title = "_Navigation"; 
    var foo = new string[]{"foo", "bar"}; 
} 

Последний не работает. Можете ли вы рассказать мне, почему и как правильно определить мой foo-массив?

============ ============ EDIT

вы абсолютно правы, нет ничего плохого. Код я на самом деле использовал

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

и как-то знак @ перед моей линией в вопросе coused компилятора сетовать. Я не знаю, почему @ был там - код был не от меня ... нормально, он работает сейчас.

Спасибо в любом случае.

+5

Это работает для меня. В вашем коде должно быть что-то еще, что бросает парсер. –

+0

Можете ли вы дать определение «не работает»? – GalacticCowboy

+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>