2sxc:foreach如何识别第一个元素

时间:2016-11-26 01:21:00

标签: dotnetnuke 2sxc

在foreach循环中,如何识别第一个元素?例如,在下面的代码段中,我可以识别作为第一个(或最后一个)项目的内容项目吗?

@foreach(在AsDynamic中的var内容(数据["默认"]))  {     ??  }

2 个答案:

答案 0 :(得分:0)

您可以这样做:

@{int i = 1;}
@foreach(var Content in AsDynamic(Data["Default"])) 
{
    if(i==1)
    {
      //this is first element
    }
    i++;
}

答案 1 :(得分:0)

另一种选择是将当前项目与First()或Last()进行比较。但是由于AsDynamic引起的动态包装,你可能会遇到一些惊喜。所以我的伪代码建议有点像这样

var firstI = Data["Default"].FirstOrDefault(); // returns null if nothing
var lastI = Data["Default"].LastOrDefault(); // null...
@foreach(var Content in AsDynamic(Data["Default"])) 
{
    var isFirst = AsEntity(Content) == firstI; // unwrap and compare
    //etc.
}