Umbraco C# - 在foreach循环上显示2个不同的列(1-2)(1-2)

问题描述 投票:2回答:1

我试图在foreach循环(bootstarp列)中以1-2的顺序显示来自Umbraco的数据,但是我的代码按照列1-1的顺序显示,而不是循环上的1-2。它不会将第二列添加到第二行只有一列。

例如。 1项,然后2项,然后再次显示1个不同列的项目。

什么是更好的方法来制作内容循环1-2?我有点迷失在这一点上。任何帮助都会很好。

 <div class="container-fluid" style="padding-left: 117px;">

   <div class="row" style="margin-top: 5em;">

    <div class="col-lg-9 col-md-9 col-sm-9">

      <!-- BLOG START-->

   @foreach(var data in Model.Content.Children().Where(x => !x.GetPropertyValue<bool>("umbracoNaviHide"))){

        if(data.HasValue("blogNested")){

           var items = data.GetPropertyValue<IEnumerable<IPublishedContent>>("blogNested");

           int i = 0 ;

            foreach(var item in items){

             <div class="row">

             @if(i % 2 == 0) {

               <div class="col-md-4 col-sm-12">
                    <div class="card">
                        <img src=" /media/1180/dude.jpg" style="height: 15em;">
                     </div>
                 </div> 

            <div class="col-md-6 col-sm-12">
                <span class="card-text qs-blog-direcao">@(item.GetPropertyValue<string>("tipoDeDirecao"))</span><br><br>
                <span class="qs-blog-date-1page">@(item.GetPropertyValue<string>("dataDePublicacaoBlog"))</span><br>
                <span class="qs-blog-publicado-por"> @(item.GetPropertyValue<string>("publicadoPorBlog")) - OPINIÃO </span><br><br><br>
                <span class="qs-blog-titulo-1page">@(item.GetPropertyValue<string>("tituloBlog"))</span>
            </div>   

            <div class="col-md-12 col-sm-12" style="margin-top:2em;">
                <span class="qs-blog-resumo d-flex justify-content-start">@(item.GetPropertyValue<string>("resumoBlog"))</span>
                <span class="d-flex justify-content-end"><a><img src=" /media/1027/icon_inf_verde.png"></a></span>
            </div>  



           } 

              else {

                <div class="col-md-6 col-sm-12">
                        <span class="card-text qs-blog-direcao-double">@(item.GetPropertyValue<string>("tipoDeDirecao"))</span><br>
                        <img src=" /media/1182/tempo.jpg" style="height: 10em;margin-top: 2em;">
                        <div class="qs-blog-sideByside">
                        <span class="qs-blog-date-1page-double">@(item.GetPropertyValue<string>("dataDePublicacaoBlog"))</span><br>
                        <span class="qs-blog-publicado-por-double"> @(item.GetPropertyValue<string>("publicadoPorBlog")) - OPINIÃO </span>
                        </div>
                        <div class="qs-blog-titulo-1page-double">@(item.GetPropertyValue<string>("tituloBlog"))</div>
                        <div class="qs-blog-resumo-blog d-flex justify-content-start">@(item.GetPropertyValue<string>("resumoBlog"))</div>
                        <span class="d-flex justify-content-end"><a><img src=" /media/1027/icon_inf_verde.png"></a></span>
                </div>

                }


           @{i++;}

   </div>


        }


    }  
}

  <!-- BLOG START-->
</div>
c# asp.net-mvc asp.net-mvc-4 umbraco umbraco7
1个回答
2
投票

它可能是这样的

var items = data.GetPropertyValue<IEnumerable<IPublishedContent>>("blogNested")
    .ToList();

while (items.Any())
{
    var oneItem = items.First();
    items.Remove(oneItem);

    <div class="row">
        <div class="col-md-12">
            @oneItem.Id
        </div>
    </div>

    var twoItems = items.Take(2).ToList();

    if (twoItems.Any())
    {
        <div class="row">
            @foreach (var item in twoItems)
            {
                items.Remove(item);
                <div class="md-6">
                    @item.Id
                </div>
            }
        </div>
    }
}

这将呈现

<div class="row">
    <div class="col-md-12">
        <text>{{Id}}</text>
    </div>
</div>
<div class="row">
    <div class="md-6">
        <text>{{Id}}</text>
     </div>
     <div class="md-6">
          <text>{{Id}}</text>
     </div>
</div>
<div class="row">
    <div class="col-md-12">
        <text>{{Id}}</text>
    </div>
</div>
...
© www.soinside.com 2019 - 2024. All rights reserved.