带有 Blazor InputFile 组件的“无法读取属性 '_blazorFilesById' 的空错误”
Posted
技术标签:
【中文标题】带有 Blazor InputFile 组件的“无法读取属性 \'_blazorFilesById\' 的空错误”【英文标题】:"Cannot read property '_blazorFilesById' of null error" with Blazor InputFile component带有 Blazor InputFile 组件的“无法读取属性 '_blazorFilesById' 的空错误” 【发布时间】:2021-05-04 12:24:03 【问题描述】:我的 Blazor WebAssembly 应用开始出现此错误:
“无法使用 Blazor 应用读取属性 '_blazorFilesById' 的 null 错误”
我假设这与我正在使用的 InputFile
component 有关,它一直运行良好。
我试过重启 VS、清理和重建、重启 IIS 和杀死 Chrome 都无济于事。这可能是什么原因造成的?
【问题讨论】:
【参考方案1】:原来这是因为我添加了条件代码来隐藏页面上的InputFile
组件。这样做会导致如this post on GitHub by BtbN 中所述的错误:
你是否修改了你的页面,所以 InputFile 元素没有被渲染 不再?它必须保持存在,否则浏览器会清理任何 与之相关的资源。
【讨论】:
【参考方案2】:我尝试将 InputFile 组件保留在 Div 中,并且有条件地(基于 bool @uploadingInProgress)隐藏 Div(尤其是在上传过程中)完美地工作
【讨论】:
以上是关于带有 Blazor InputFile 组件的“无法读取属性 '_blazorFilesById' 的空错误”的主要内容,如果未能解决你的问题,请参考以下文章