#c# #blazor #blazor-webassembly #blazorinputfile
#c# #blazor #blazor-webassembly #blazorinputfile
Вопрос:
Я начал получать эту ошибку из моего приложения Blazor WebAssembly:
«Не удается прочитать свойство ‘_blazorFilesById’ с нулевой ошибкой» с помощью приложения Blazor
Я предполагаю, что это связано с используемым мной InputFile
компонентом, который работает нормально.
Я пытался перезапустить VS, очистить и перестроить, перезапустить IIS и уничтожить Chrome, но все безрезультатно. Что может быть причиной этого?
Ответ №1:
Оказывается, это связано с тем, что я добавил условный код, чтобы скрыть InputFile
компонент на странице. Выполнение этого приведет к ошибке, как описано в this post на GitHub by BtbN:
Вы изменили свою страницу, чтобы элемент InputFile больше не отображался? Он должен оставаться присутствующим, в противном случае браузер очищает все связанные с ним ресурсы.
Комментарии:
1. Хороший совет. У меня был контроль ввода файла в модальном окне. Внутри модального окна был запущен поток для обработки файла, но модальное окно быстро закрылось до завершения потока и получило ту же ошибку.
Ответ №2:
Я попытался сохранить компонент InputFile внутри Div и условно (на основе bool @uploadingInProgress) скрыть Div (особенно во время выполнения загрузки) работает отлично
Ответ №3:
это происходит потому, что вы, скорее всего, вызываете StatehasChanged в функции onchange