Управление количеством тегов <div>, показанных в цикле foreach - PullRequest
0 голосов
/ 14 марта 2019

Я создаю веб-сайт электронной коммерции с основными страницами бритвы asp.net, и в настоящее время я создаю страницу продуктов.Мне нужна возможность контролировать количество <div> тегов, отображаемых в строке.Мой текущий код в настоящий момент просто сжимает как можно больше (что я ожидал), я просто не знаю, как это контролировать.Любая помощь очень ценится.

<div class="container">
<div class="row">
    @foreach (var item in Model.Products)
    {
        <div class="col-sm">
            @Html.DisplayFor(modelItem => item.Name)
        </div>    
    }
</div>

Где Model.Products содержит список из 25 продуктов

1 Ответ

1 голос
/ 14 марта 2019

Как вы хотите контролировать количество тегов?

У вас есть максимальное число, чтобы уважать?Если это так, вы можете попробовать взять только первое «DivMaxAmount» количество предметов:

@{int DivMaxAmount = 25}
<div class="container">
<div class="row">
    @foreach (var item in Model.Products.Take(DivMaxAmount))
    {
        <div class="col-sm">
            @Html.DisplayFor(modelItem => item.Name)
        </div>    
    }
</div>

В этом примере будет создано 25 делений с первыми 25 предметами в коллекции, но вы можете изменить это число по своему желанию.

Обратите внимание, что если вы хотите получить последовательный порядок, вы можете заказать коллекцию перед тем, как брать элементы:

Model.Products.OrderBy(p => p.PropertyToOrderBy).Take(DivMaxAmount)

Эти методы доступны в пространстве имен System.Linq .

...