在剃刀视图中手动增加嵌套for循环中的值

时间:2016-10-19 15:43:51

标签: asp.net-mvc for-loop razor

我嵌套了for循环,首先是i变量,第二个是j变量。我需要在嵌套for循环中增加i值。这是我的代码:

 @for ( i= 0; i < Model.ItemMap.Count() ;i++ )
 {
    @{var PrevItem = Model.ItemMap.ToList()[i].ItemName;}                            
    @for (j= i; j < Model.ItemMap.Count(); j++)
     {
      if (PrevItem != Model.ItemMap.ToList()[j].ItemName)
       {
         break;                                                    
       }
       @i++;
     }                                        
}

其中“@i++;”抛出错误。

2 个答案:

答案 0 :(得分:1)

你的语法看起来不对。试试这个

@for (var i = 0; i < Model.ItemMap.Count(); i++)
{
    var prevItem = Model.ItemMap.ToList()[i].ItemName;
    for (var j = i; j < Model.ItemMap.Count(); j++)
    {
        if (prevItem != Model.ItemMap.ToList()[j].ItemName)
        {
            break;
        }
        i++;
    }
}

不确定为什么要两次递增,但这并不会引发任何语法错误。

答案 1 :(得分:0)

您需要的只是i++,没有@ - Razor知道您已经在代码段中。同样,您不应该使用以下代码块:

@for ( i= 0; i < Model.ItemMap.Count() ;i++ )
 {
    var PrevItem = Model.ItemMap.ToList()[i].ItemName;                            
    for (j= i; j < Model.ItemMap.Count(); j++)