Как обрабатывать пустые файлы во входном файле сервера Blazor после отмены?C#

Место общения программистов C#
Anonymous
Как обрабатывать пустые файлы во входном файле сервера Blazor после отмены?

Сообщение Anonymous »

Я пишу серверное веб-приложение Blazor, в частности форму. У меня возникли проблемы с полем InputSelect, и я не смог найти решения этой конкретной проблемы.
Вот базовый пример, который я сделал на основе своего реального кода:

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

@page "/problem-sample"





@(fileIsComplete ? "A file is uploaded" : "A file isn't uploaded")

@code {
public class FormModel
{
public IBrowserFile? File { get; set; }
}

private FormModel formModel = new();
private bool fileIsComplete = false;

public async Task HandleFormSubmit()
{
if (formModel.File == null)
{
return;
}
}

private async Task HandleFileUpload(InputFileChangeEventArgs e)
{
var file = e.File;

if (file != null)
{
fileIsComplete = true;
return;
}
}
}
Ожидаемое поведение:
  • Если пользователь не загружает ни одного файла, параметр fileIsComplete должен иметь значение false.
  • Если пользователь нажимает кнопку и загружает файл, параметр fileIsComplete должен иметь значение true.
  • Если пользователь нажимает кнопку, но нажимает отменить или закрыть окно, fileIsComplete должно иметь значение false, даже если пользователь ранее загрузил файл.
В настоящее время, если пользователь отменяет или закрывает окно после загрузки файла, InputFile очищается, но fileIsComplete сохраняет значение true:
Изображение

Я пытался проверить, допускает ли файл значение NULL, используя тело выражения или напрямую используя stateHasChanged, но, похоже, ничего не работает.

Подробнее здесь: https://stackoverflow.com/questions/797 ... cancelling

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