2016-06-15 5 views
0

Hey ich muss Klasse zu div nur hinzufügen, wenn die Anzahl ist höher als 6, aber ich weiß nicht, wo das Problem ist. Vielen Dank für jede BeratungRasierer Klasse hinzufügen, wenn die Bedingung falsch ist

   @{ 
        int count = 0; 
       } 
       @foreach (var item in Model.Models) 
       { 
        <div class="col-xxs-12 col-xs-6 col-sm-4 @(count < 6 ? "" : "dismiss")"> 
         <a href="@Url.Action("Detail", "Product", new { productID = item.ProductID, parentCategoryID = item.CategoryID, isProductModel = true })" class="model-wrap"> 
          <div class="box"> 
           <div class="img-wrap" style="background-image: url(@Url.Content(Utils.ProductImagePath(item.ImageID)))"></div> 
           <div class="arrow f16">@item.Name <i class="fa fa-angle-right theme-color" aria-hidden="true"></i></div> 
          </div> 
         </a> 
        </div> 
       } count++; 
      </div> 

Antwort

1

Ihr Problem hier ist „count ++“ ist nicht in foreach Schleife. Wenn Sie foreach Schleife verwenden möchten, sollten Sie "count ++" innerhalb der Schleife verschieben.

 @{ 
      int count = 0; 
     } 
     @foreach (var item in Model.Models) 
      { 
      <div class="col-xxs-12 col-xs-6 col-sm-4 @(count < 6 ? "" : "dismiss")"> 
       <a href="@Url.Action("Detail", "Product", new { productID = item.ProductID, parentCategoryID = item.CategoryID, isProductModel = true })" class="model-wrap"> 
        <div class="box"> 
         <div class="img-wrap" style="background-image: url(@Url.Content(Utils.ProductImagePath(item.ImageID)))"></div> 
         <div class="arrow f16">@item.Name <i class="fa fa-angle-right theme-color" aria-hidden="true"></i></div> 
        </div> 
       </a> 
      </div> 
      count++; 
     } 
+0

vielen Dank – george

0

in Bezug auf Ihrer Klasse

Ihren vorhandenen Code Einstellung sieht gut aus, da es nur die entlassene Klasse hinzufügen, wenn Ihr Zählwert größer oder gleich 6 über Ihre ternäre Anweisung:

<div class="col-xxs-12 col-xs-6 col-sm-4 @(count < 6 ? "" : "dismiss")"> 

Scoping Ihre Iteration

Haben Sie überlegt, eine for-Schleife zu verwenden, die automatisch den aktuellen Index für Sie speichert? Dies könnte ein bisschen einfacher und lösen Sie alle möglichen Probleme mit Ihrer Gegenbahn der Zählung macht hält nicht richtig scoped werden (wie count++ außerhalb Ihrer foreach Schleife):

@for (var i = 0; i < Model.Models.Count(); i++) 
{ 
    // Store a reference to your item to ease syntax 
    var item = Model.Models.ElementAt(i); 
    <div class="col-xxs-12 col-xs-6 col-sm-4 @(i < 6 ? "" : "dismiss")"> 
     <a href="@Url.Action("Detail", "Product", new { productID = item.ProductID, parentCategoryID = item.CategoryID, isProductModel = true })" class="model-wrap"> 
     <div class="box"> 
      <div class="img-wrap" style="background-image: url(@Url.Content(Utils.ProductImagePath(item.ImageID)))"></div> 
      <div class="arrow f16">@item.Name <i class="fa fa-angle-right theme-color" aria-hidden="true"></i></div> 
     </div> 
     </a> 
    </div> 
} 
Verwandte Themen