2016-03-14 64 views
0

我想對我的foreach循環進行排序並使用Html.DisplayFor()。 我有3種類型/顏色的衝浪板。在foreach循環中排序Html.DisplayFor

代碼:

@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循環顯示在我的模型顏色這就是所謂的白的所有項目。例如:如果item.Kleur = "White" - >顯示Html.DisplayFor()項目。

有人可以幫助我嗎?

+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> 
     } 
    } 
+0

過濾應該在控制器中完成,而不是在視圖中完成。 –

+0

是的,他應該在控制器中進行過濾。但有時候你需要一切可以看到的東西,但只有它的一部分在這個特定的地方,所以你可以使用一個列表 –

+0

我明白我應該在控制器中做,但我有3種不同的項目類型,所以我會而是在視圖中進行。 – Jesse