2010-11-11 4 views
1

J'espère/je suppose que c'est facile, alors je vais demander ici et faire un fou de moi-même si c'est le cas.Définir la valeur de var dans foreach - Razor View Engine

J'ai une boucle foreach à mon avis, il s'agit d'une vue Razor. Je ne sais pas si le moteur ASP.NET View fait la même chose ... mais ça pourrait le faire. Je veux retourner un booléen sur chaque boucle, mais il ne voit pas comment me laisser faire. Le moteur de vue étouffe à mort. Pourquoi? Comment puis-je le réparer? J'ai fait une boucle for et j'ai fait le mod 2 pour l'instant, mais j'ai vraiment besoin de comprendre cela.

C'est ce que j'ai essayé:

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

Répondre

6

Essayez ceci: (. A travaillé pour moi avec MVC 3 RC)

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

+1

Eh bien, je presque essayé, mais je pensais , non ça ne marcherait jamais. Étrange ce nouveau rasoir est. – CrazyDart

+0

Je suppose que cela a du sens, plus je le regarde. – CrazyDart

+0

Semble être beaucoup d'essais et d'erreurs. Fait intéressant, le surligneur syntaxique SO étouffe vraiment sur la syntaxe Razor. – Larsenal

Questions connexes