如何在数字上加+1?

时间:2015-01-31 10:23:20

标签: .net razor umbraco

此代码动态创建缩略图:

@foreach (var image in Umbraco.Field("Photo").ToString().Split(',').Select(x=>Umbraco.Media(int.Parse(x))))
{
    <li slideIndex="0"> <a href="#"><img class="t02" src="image.jpg"></a> </li>
}

我需要一个脚本来添加+1 [slideIndex],以获得此结果:

<li slideIndex="0"> <a href="#"><img class="t02" src="image.jpg"></a> </li>
<li slideIndex="1"> <a href="#"><img class="t02" src="image.jpg"></a> </li>
<li slideIndex="2"> <a href="#"><img class="t02" src="image.jpg"></a> </li>

提前致谢

4 个答案:

答案 0 :(得分:1)

试试这个,它使用一个简单的计数器变量。

@int i = 0;
@foreach (var image in Umbraco.Field("Photo").ToString().Split(',').Select(x=>Umbraco.Media(int.Parse(x))))
{
    <li slideIndex="@i"> <a href="#"><img class="t02" src="image.jpg"></a> </li>
    i++;
}

但您也可以使用@for循环解决问题。这取决于你...

答案 1 :(得分:1)

@
{
   int  i = 0;

   foreach (var image in Umbraco.Field("Photo").ToString().Split(',').Select(x=>Umbraco.Media(int.Parse(x))))
  {
     <li slideIndex="@i"> <a href="#"><img class="t02" src="image.jpg"></a> </li>
      i++;
  }
}

答案 2 :(得分:1)

Enumerable.Select<TSource, TResult> Method (IEnumerable<TSource>, Func<TSource, Int32, TResult>)

的另一种变体
@foreach (var image in Umbraco.Field("Photo")
                              .ToString()
                              .Split(',')
                              .Select((x,index)=> new {
                                  index=index, 
                                  media=Umbraco.Media(int.Parse(x))
                              }))
{
    <li slideIndex="@image.index"> <a href="#"><img class="t02" src="image.jpg"></a> </li>
}

答案 3 :(得分:0)

我找到了解决方案:

 @{
            var countNum = -1;
            }
            @foreach (var image in Umbraco.Field("Photo").ToString().Split(',').Select(x=>Umbraco.Media(int.Parse(x))))
            {
                {
                countNum += 1;
                }


                    <li slideIndex="@countNum"> <a href="#">
                        <img class="t02" src="@image.Url"></a>
                    </li>                               


            }