Как использовать условные операторы в mvc orderBy для перемещения последнего значения 0 - PullRequest
0 голосов
/ 29 апреля 2020

super fre sh кодер здесь,

В настоящее время я использую foreach l oop, на мой взгляд, для генерации сечений на основе значения положения модели. Если позиция нулевая, модель находится в разработке. Я пытаюсь, чтобы значения 0 отображались последними в инструкции orderBy, но я не могу найти ответ. Есть ли более эффективный способ выполнить мою задачу? Вот мой текущий синтаксис:

@foreach (var item in Model.OredrBy( model => model.Position))
{
    <div></div>
}

Ответы [ 3 ]

1 голос
/ 01 мая 2020

Спасибо за помощь всем, мне действительно удалось решить это самостоятельно. Сохраняет нисходящий порядок, но ставит нули в последнюю очередь.

Мое решение:

OrderBy(a => a.Position == 0).ThenBy(a => a.Position).ToArrayAsync()
1 голос
/ 30 апреля 2020

model => ( ( model.Position == 0 ) ? int.MaxValue : model.Position )

0 голосов
/ 30 апреля 2020

Вы можете попробовать это:

@{
    var orderedModel =  Model.OrderByDescending(model => model.Position).ToList();
    foreach(var item in orderedModel)
    {
        <div></div>
    }
}
...