Sto cercando di fare un semplice if/else all'interno di un foreach con questo codice:semplice if/else Razor Sintassi
@{
var count = 0;
foreach (var item in Model)
{
if (count++ % 2 == 0)
{
@:<tr class="alt-row">
} else {
@:<tr>
}
<td>
@Html.DisplayFor(modelItem => item.Title)
</td>
<td>
@Html.Truncate(item.Details, 75)
</td>
<td>
<img src="@Url.Content("~/Content/Images/Projects/")@item.Images.Where(i => i.IsMain == true).Select(i => i.Name).Single()"
alt="@item.Images.Where(i => i.IsMain == true).Select(i => i.AltText).Single()" class="thumb" />
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id=item.ProjectId }) |
@Html.ActionLink("Details", "Details", new { id = item.ProjectId }) |
@Html.ActionLink("Delete", "Delete", new { id=item.ProjectId })
</td>
</tr>
}
}
ottengo un errore di analisi "Incontrata fine tag 'tr' senza inizio corrispondente tag. I tuoi tag start/end sono bilanciati correttamente? ". Sembra che l'affermazione if non voglia 'funzionare.
Grazie. Ho provato la soluzione di @ DJQuimby e in qualche modo ha funzionato, ma il resto non era più evidenziato in blu e ho ricevuto questo errore "Il codice ha un carattere di chiusura"} ". Assicurati di avere un carattere"} "corrispondente per tutti" { "caratteri all'interno di questo blocco e nessuno dei caratteri"} "viene interpretato come markup." La tua soluzione ha funzionato, grazie per entrambi i tuoi suggerimenti. –
@Henk Holterman Grazie per la risposta. Ma in Visual Studio se premo ctrl + k + D per allineare il codice, lo riformattiamo come @: ( si sta spostando alla riga successiva). Quindi causando di nuovo lo stesso errore –
ottenuto una correzione per questo Pahul? – CularBytes