ASP.NET MVC 3 Rasoir foreach Imbriquée avec si les déclarations

Je suis un développeur web junior et c'est ma première fois de poster ici.

J'ai un problème lorsque, pour une raison quelconque, le plus à l'intérieur si la déclaration n'est pas reconnu et est plutôt imprimés sous forme de texte. Quelqu'un a une solution pour cela?

EDIT: Trouvé une solution: Ne peut pas sembler conditionnellement créer une nouvelle ligne de la table à l'aide du Rasoir foreach et si les déclarations?

@model IEnumerable<FairShare.Models.Product>
@{
    ViewBag.Title = "Products";
}
<h2>
    Auctions</h2>
<table border="1">
    <col width="192" />

    @{int i = 0;}
        @foreach (var item in Model)
        {
            if (item.DateEnd.Subtract(DateTime.Now).TotalMinutes > -5)
            {
                if (i == 0)
                {
                    <tr>
                }
            <td>
                <a href="/ProductDetails/[email protected]">
                    <img src="Images/@item.ImageName" width="192" height="108"/>
                </a>
                <br />
                <a href="/ProductDetails/[email protected]">@Html.DisplayFor(modelItem => item.ShortTitle)</a><br />
                @Html.DisplayFor(modelItem => item.ShortDescription)<br />
                <div style="color: red;">@Html.DisplayFor(modelItem => item.TimeLeft)</div>
                <div style="color: green;">
                    Current bid: @Html.DisplayFor(modelItem => item.CurrentBid)</div>
            </td>

                i = i + 1;
                if (i == 5)
                {
                    </tr>
                    i = 0;
                }
            }
        }

</table>

OriginalL'auteur Hudson | 2012-07-18