【问题标题】:convert from foreach to for loop从 foreach 转换为 for 循环
【发布时间】:2016-04-28 03:27:38
【问题描述】:

下面的代码完美运行。但我需要将它从 foreach 转换为 for 循环。请帮助我通过 for 循环进行迭代。因为我必须在整个代码中引入一些 if else 语句

@foreach (var item in ViewData["productSl_1"] as IEnumerable<Nazmulkp.Models.Product>)
{      
    <div class="col-md-3 ">
      <div class="thumbnail">
          <a href="#" class=""><img src="@Url.Content(item.ImagePath)" alt="Image" style="max-width:100%;"></a>
          <div class="caption">  
             <h5>@item.ProductName</h5>
             <h4>Tk.@item.Price</h4>
          </div>
        </div>
    </div>
}

例子:

我必须确定索引号 2 是否比执行 &lt;div class="col-md-3&gt;"

谢谢

【问题讨论】:

  • 为什么它需要是一个for 循环。如果你确实想使用一个,模型应该是IList&lt;T&gt;
  • 您也可以在foreach 中执行if -else。你试过了吗?
  • @Shyju 我必须确定索引号 2 是否比执行
  • @NazmulHasan 您是否尝试基于索引应用 css 类?
  • @KrishnaDhungana 不,为什么我尝试使用基于索引的 css 类

标签: asp.net asp.net-mvc asp.net-mvc-4 razor-2


【解决方案1】:

您无需将 foreach 转换为 for 循环即可添加条件 css 类。只需在您的代码中添加一个计数器变量,并根据需要将其用于您的 if 条件。

例如,下面的代码会将 css 类 "col-md3" 添加到集合中的第 3 项。

@{ var counter = 0;}
@foreach (var item in YouCollectionHere)
{
    <div class="@(counter==2?"col-md-3":"")">
        <h2>@item.Name</h2>
    </div>
    counter++;
}

【讨论】:

    猜你喜欢
    相关资源
    最近更新 更多
    热门标签