Sto iterando un List<T>
in un ciclo foreach rasoio nella mia vista che esegue il rendering parziale. Nel parziale sto rendendo un singolo record per il quale voglio avere 4 di fila nella mia vista. Ho una classe css per le due colonne finali quindi è necessario determinare in parziale se la chiamata è il 1 ° o il 4 ° record. Qual è il modo migliore di identificare questo nel mio parziale per emettere il codice corretto?Ottenere valore indice sul rasoio foreach
Questa è la mia pagina principale, che contiene il loop:
@foreach (var myItem in Model.Members){
//if i = 1
<div class="grid_20">
<!-- Start Row -->
//is there someway to get in for i = 1 to 4 and pass to partial?
@Html.Partial("nameOfPartial", Model)
//if i = 4 then output below and reset i to 1
<div class="clear"></div>
<!-- End Row -->
</div>
}
Immagino che posso creare un int che posso aggiornare su ogni passaggio e rendere il testo non è un problema qui, ma sta passando il valore intero nel mio parziale sono più preoccupato per. A meno che non ci sia un modo migliore.
Qui è la mia parziale:
@{
switch()
case 1:
<text>
<div class="grid_4 alpha">
</text>
break;
case 4:
<text>
<div class="grid_4 omega">
</text>
break;
default:
<text>
<div class="grid_4">
</text>
break;
}
<img src="Content/960-grid/spacer.gif" style="width:130px; height:160px; background-color:#fff; border:10px solid #d3d3d3;" />
<p><a href="member-card.html">@Model.Name</a><br/>
@Model.Job<br/>
@Model.Location</p>
</div>
Non sono sicuro se sto avendo un giorno bionda oggi e questo è spaventosamente facile, ma non riesco proprio a pensare al modo migliore per passare il valore int in. Spero che qualcuno possa aiutarti.
Se solo ci fosse un modo in C# per fare un ciclo con un indice ... oh aspetta! C'è! http://msdn.microsoft.com/en-us/library/ch45axte.aspx :) – bhamlin
La creazione dell'indice non è il problema. Il passaggio dell'indice nel parziale è il problema. – lloydphillips