在foreach中设置var的值 - Razor View Engine

Cra*_*art 1 asp.net-mvc

我希望/怀疑这很容易,所以如果是的话,我会在这里问一个傻瓜.

在我看来,我有一个foreach循环,请注意,这是一个Razor视图.我不知道ASP.NET View引擎是否也这样做......但它可能会.我想在每个循环上翻转一个bool,但它看不到让我.视图引擎窒息死亡.为什么?我该如何解决?我做了一个for循环,我现在做了mod 2,但我真的需要理解这一点.

这是我试过的:

@{
    var IsOdd = false;
}
@foreach(var foo in bar)
{
    @{ IsOdd = !IsOdd; }
    <div class="@(IsOdd ? "odd" : "even")">@foo</div>
}
Run Code Online (Sandbox Code Playgroud)

Lar*_*nal 6

试试这个:

@{
    var IsOdd = false;
}
@foreach(var foo in bar)
{
    IsOdd = !IsOdd;
    <div class="@(IsOdd ? "odd" : "even")">@foo</div>
}
Run Code Online (Sandbox Code Playgroud)

(为MVC 3 RC工作.)