在foreach循环中排序Html.DisplayFor

时间:2016-03-14 09:30:06

标签: c# asp.net-mvc razor

我想对foreach循环进行排序,我正在使用Html.DisplayFor()。 我有3种类型/颜色的冲浪板。

代码:

@foreach (var item in Model)
{
    <div style="width:25%;" class="post_grid">
        <div class="postImage">
            <a href="#">
                <center><img style="height:428px" src="@Html.DisplayFor(modelItem => item.Afbeelding)"/></center>
            </a>
        </div>
        <h3>@Html.DisplayFor(modelItem => item.Boardnaam)</h3>
        <h4 style="text-align:right;">&euro; @Html.DisplayFor(modelItem => item.Prijs)</h4>
        <h4>@Html.DisplayFor(modelItem => item.Merk)</h4>
        <div class="Informatie">
            <H5>@Html.DisplayFor(modelItem => item.Beschrijving)</H5>
        </div>
        <div class="button">
            @Html.ActionLink("More Information", "Details", new { id=item.ID })
        </div>
    </div>
}

所以我希望我的foreach循环显示我的模型中名为White的颜色的所有项目。例如:如果item.Kleur = "White" - >显示Html.DisplayFor()项目。

有人可以帮我这个吗?

1 个答案:

答案 0 :(得分:1)

如果您只想通过白色项目进行迭代,可以使用

@foreach (var item in Model.Where(e => e.Kleur == "White"))
    {
        <div style="width:25%;" class="post_grid">
            <div class="postImage">
                <a href="#">
                    <center><img style="height:428px" src="@Html.DisplayFor(modelItem => item.Afbeelding)"/></center>
                </a>
            </div>
            <h3>@Html.DisplayFor(modelItem => item.Boardnaam)</h3>
            <h4 style="text-align:right;">&euro; @Html.DisplayFor(modelItem => item.Prijs)</h4>
            <h4>@Html.DisplayFor(modelItem => item.Merk)</h4>
            <div class="Informatie">
                <H5>@Html.DisplayFor(modelItem => item.Beschrijving)</H5>
            </div>
            <div class="button">
                @Html.ActionLink("More Information", "Details", new { id=item.ID })
            </div>
        </div>
    }

或者如果您想在符合条件的情况下显示它(即对于不同的项目,不同的设置),您可以使用

    @foreach (var item in Model)
      {
       if (item.Kleur == "White")
         {
            <div style="width:25%;" class="post_grid">
              <div class="postImage">
                <a href="#">
                    <center><img style="height:428px" src="@Html.DisplayFor(modelItem => item.Afbeelding)"/></center>
                </a>
            </div>
            <h3>@Html.DisplayFor(modelItem => item.Boardnaam)</h3>
            <h4 style="text-align:right;">&euro; @Html.DisplayFor(modelItem => item.Prijs)</h4>
            <h4>@Html.DisplayFor(modelItem => item.Merk)</h4>
            <div class="Informatie">
                <H5>@Html.DisplayFor(modelItem => item.Beschrijving)</H5>
            </div>
            <div class="button">
                @Html.ActionLink("More Information", "Details", new { id=item.ID })
            </div>
        </div>
      }
    }