Как обрабатывать пустые файлы во входном файле сервера 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
Ответить

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

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

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

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

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