Создание заполнителей в цикле - PullRequest
0 голосов
/ 27 января 2019

Мне нужно сделать «заполнители», где итерации цикла foreach не заполняют строку в сетке.

В каждой строке есть место для 3 столбцов.Если в цикле только 1 итерация, сделайте 2 пустых столбца с например.фоновое изображение.

Если в цикле всего 2 итерации, сделайте 1 пустой столбец с помощью например.фоновое изображение.

Если в строке 3, 6, 9, 12 и т. д., не используйте заполнители.

Я ищу более динамичный способ создания этой логики (иболее чистый код).

var loop = GetLoop("ItemPublisher:Items.List");
int totalItems = loop.Count;

int remainders = totalItems % 3;
int placeholders = 3 - remainders;
string renderPlaceholders = placeholders == 3 ? "0" : placeholders.ToString();
int index = 0;

@foreach(var i in loop){
    var title = i.GetString("ItemPublisher:Item.Title");
    var imagepath = !string.IsNullOrEmpty(i.GetString("ItemPublisher:Item.Image.ImagePath")) ? i.GetString("ItemPublisher:Item.Image.ImagePath") : "/Files/Images/placeholder.jpg";
    <div class="grid__col-md-4">
            <h4>@title</h4>
            <img src="/Admin/Public/GetImage.ashx?width=992&height=560&crop=0&Compression=75&image=@imagepath"/>
    </div>
}

@*Render placeholders*@  
@if(placeholders == 1)
{
    var imagepath = "/Files/Images/placeholder.jpg";
    <div class="grid__col-md-4 placeholder">
        <h4></h4>
        <img src="/Admin/Public/GetImage.ashx?width=992&height=560&crop=0&Compression=75&image=@imagepath"/>
    </div>
}
else if(placeholders == 2)
{
    var imagepath = "/Files/Images/placeholder.jpg";
    <div class="grid__col-md-4 placeholder">
        <h4></h4>
        <img src="/Admin/Public/GetImage.ashx?width=992&height=560&crop=0&Compression=75&image=@imagepath"/>
    </div>

    <div class="grid__col-md-4 placeholder">
        <h4></h4>
        <img src="/Admin/Public/GetImage.ashx?width=992&height=560&crop=0&Compression=75&image=@imagepath"/>
    </div>

  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...