umbraco和c#Razor:如何在部分视图中交替打印奇数和偶数值,或者从模型页面中查看

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

Requirement

我有两个html左侧图像和内容以及右侧图像和内容。从模型打印的价值。我可以写什么 - 每个循环在模型页面的局部视图中交替打印奇数和偶数值。

    @inherits UmbracoViewPage<List<ProjectName.Models.DealerSectionModel>>
    @using ProjectName.Models;
    @using Umbraco.Core;
    
    
    @{ 
        foreach (DealerSectionModel historylist in Model)  // what should i write in this loop .(ex if 1 value in model then print odd html)
        {
            if ()
            {
                @RenderEvenHistoryList(historylist)
            }
            else
            {
                @RenderOddHistoryList(historylist)
            }
           
        }
    }
    
    @helper RenderOddHistoryList(DealerSectionModel item)
            {
            <div class="row history-second-section py-2 py-xl-4 py-lg-4 py-md-4 py-sm-2">
                <div class="col-12 col-xl-6 col-lg-6 col-md-6 col-sm-12 history-second-images">
                    <div class="quote my-3"><iframe src="@item.VideoUrl" width="510" height="282" frameborder="0" allowfullscreen></iframe></div>
                </div>
                <div class="col-12 col-xl-6 col-lg-6 col-md-6 col-sm-12 history-second-content">
                    <div class="content-year">@item.Title </div>
                    <h4>@item.ImageTitle</h4>
                    <p>@item.ImageDescription</p>
                    
                </div>
            </div>
    
    }
    
    }
    
    @helper RenderEvenHistoryList(DealerSectionModel item)
            {
       // render html for even model value
    }
    
    }
c# razor umbraco
2个回答
3
投票

我不太了解umbraco,但为什么不尝试一些简单的东西

 @{ 
     var even = false;
        foreach (DealerSectionModel historylist in Model)  // what should i write in this loop .(ex if 1 value in model then print odd html)
        {
            if (even)
            {
                @RenderEvenHistoryList(historylist)
            }
            else
            {
                @RenderOddHistoryList(historylist)
            }
           even = !even;
        }
    }

1
投票

你可以这样做

@ {int count = 1;

foreach (DealerSectionModel historylist in Model)
{
    if (count % 2 == 0)
    {
        @RenderEvenHistoryList(historylist)
    }
    else
    {
        @RenderOddHistoryList(historylist)
    }
    count++;
}

}

© www.soinside.com 2019 - 2024. All rights reserved.