简体   繁体   中英

umbraco and c# Razor : how to print odd and even vlaue alternativelty in partialview or view in page from Model

需求

I have two html for left side image & content and for right side image & content. value print from models. what can i write in for-each loop to print odd and even value alternatively in partial view in page from Model.

  @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 } } 

I don't know much about umbraco, but why not try something simple like

 @{ 
     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;
        }
    }

You can do like this

@{ int count = 1;

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

}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM