Сортировка списка из поля модели класса данных в порядке убыванияC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Сортировка списка из поля модели класса данных в порядке убывания

Сообщение Anonymous »

Я использовал модель класса данных для упрощения и максимизации функций .NET (я не могу упомянуть их один за другим, и я извиняюсь за это). < /p>
Сортировка списка < /code> из поля модели класса данных в нисходящем порядке не работает, как и ожидалось. Модель класса данных: < /p>

Код: Выделить всё

[Keyless]
public class SimulateImg
{
[Required]
public List ImgList { get; set; } = [];
}
Обратите внимание, что я не использую эту модель класса данных с dbset в то же время. Поэтому я не включал и настраивал это в свой dbcontext < /code>. < /P>

Вот как я использую эту модель класса данных на своей странице бритвы: < /p>
@page "/to-my-page"
@rendermode InteractiveServer
@using Microsoft.EntityFrameworkCore
@using MyProject.Models.SQLServer
@using MyProject.Data.SQLServer
@implements IAsyncDisposable
@inject IDbContextFactory DbFactory
@inject NavigationManager NavigationManager
@inject IJSRuntime JS

Product








@if (simulateImg.ImgList is not null)
{
@foreach (var img in simulateImg.ImgList)
{
Изображение
}
}



Save



role="alert" aria-live="assertive" aria-atomic="true" data-bs-delay="1500">


New records created successfully!





class="toast align-items-center text-bg-danger border-0 position-fixed bottom-0 end-0 mb-3 me-3" role="alert"
aria-live="assertive" aria-atomic="true" data-bs-delay="3000">


Someting went wrong: "@errorMessage". Please try again later.






window.showLiveToast = () => {
const toastEl = document.getElementById('liveToast');
if (toastEl) {
const toast = bootstrap.Toast.getOrCreateInstance(toastEl);
toast.show();

toastEl.addEventListener('hidden.bs.toast', () => {
window.location.replace('/to-other-page');
});
}
};
window.showLiveToastError = () => {
const toastEl = document.getElementById('liveToastError');
if (toastEl) {
const toast = bootstrap.Toast.getOrCreateInstance(toastEl);
toast.show();
}
};


@code {
[SupplyParameterFromForm]
private SimulateImg simulateImg { get; set; } = new();
private SQLServerContext context = default!;
private string? output;
private string? errorMessage;

protected override void OnInitialized()
{
context = DbFactory.CreateDbContext();
}

private async Task HandleImageListUpload(InputFileChangeEventArgs e)
{
long maxAllowedSize = 3L * 1024L * 1024L; //3 MB limit
int maxFileCount = 8;
try
{
foreach (var file in e.GetMultipleFiles(maxFileCount))
{
using var readStream = file.OpenReadStream(maxAllowedSize);
using var memoryStream = new MemoryStream();

await readStream.CopyToAsync(memoryStream);
var base64 = Convert.ToBase64String(memoryStream.ToArray());
simulateImg.ImgList.Add($"data:{file.ContentType};base64,{base64}");
simulateImg.ImgList.Reverse();
}
}
catch (IOException ex)
{
errorMessage = ex.Message;
simulateImg.ImgList.Clear();
await JS.InvokeVoidAsync("showLiveToastError");
}
catch (Exception ex)
{
errorMessage = ex.Message;
simulateImg.ImgList.Clear();
await JS.InvokeVoidAsync("showLiveToastError");
}
}

private async Task SimulateImageList()
{
// This is how I save the images to the database. At the moment, it is in pending features status.
}

private void DisposeToastThenNavigate()
{
NavigationManager.NavigateTo("/to-other-page", replace: true);
}

public async ValueTask DisposeAsync() // this is important
{
await context.DisposeAsync();
}

}
< /code>
Примечание для будущих читателей: код имеет недостаточную обработку данных, особенно в сборе списков изображений и проверки данных. Например, если пользователь уже выбрал максимум 8 элементов и добавляет одно изображение, новое изображение должно заменить последний или первый элемент в списке, либо пользователь должен быть проинформирован о том, что ограничение составляет всего 8 элементов. К сожалению, это не ведет себя так. Я бы признателен, если бы кто -то рассмотрел ответ на эту часть. < /P>

, с другой стороны, если я проверю программу с этим хронологическим порядком изображений: < /p>

pli>gadget_demo_image_330x330_1.pnggadget_demo_image_330x330_1. />[*]gadget_demo_image_330x330_2.png
[*]gadget_demo_image_330x330_3.png
[*]gadget_demo_image_330x330_4.png />[*]gadget_demo_image_330x330_5.png
< /ol>
Более того, имя файла будет отброшено, и я ожидал, что список элементов будет отсортирован на основе их исходного расположения; Это главная причина, по которой я использовал числовой порядок списка вместо пули. src = "https://i.sstatic.net/jt0hx2mf.png"/>

горизонтально обернутый

premang. /> это показывает, что у меня нет проблем с макетом переднего дня. < /p>
Я ожидал, что программа сортирует список от 5 до 1.>

Подробнее здесь: https://stackoverflow.com/questions/797 ... ding-order
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Сортировка списка из поля модели класса данных в порядке убывания
    Anonymous » » в форуме C#
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Сортировка списка словарей в порядке убывания конкретного ключа [дублировать]
    Anonymous » » в форуме Python
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Сортировка Yii2 Gridview сначала в порядке убывания
    Anonymous » » в форуме Php
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Сортировка Yii2 Gridview сначала в порядке убывания
    Anonymous » » в форуме Php
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Сортировка больших массивов примитивных типов в порядке убывания.
    Anonymous » » в форуме JAVA
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»