我对blazor-error-ui在实践中的工作方式有些困惑。我知道默认情况下它是隐藏的,因为CSS (通过display: none),但我似乎无法通过导致应用程序中的错误来使它出现。
根据巴兹尔博士
blazor-error-ui元素通常是隐藏的,因为站点的样式表.中存在blazor-error-uiCSS类的display: none样式,当发生错误时,框架将display: none应用于元素.。
强调我的。
文档说,错误应该会导致blazor-error-ui div将其display属性设置为block,但是抛出异常会将我带到开发人员异常页面,而实际上根本没有显示div。如果我将环境设置为Release,它将带我到/Error页面。
那么,blazor-error-ui div实际上是什么时候显示的呢?当Blazor本身有一个内部错误的时候?
发布于 2022-11-07 01:49:46
我不会将此标记为已被接受,因为我无法找到这方面的官方来源,而且到目前为止,我自己的测试产生了好坏参半的结果。
事件中发生的错误似乎会触发blazor-error-ui,但是从页面生命周期方法中抛出的错误不会触发。
例如:
单击具有定义了抛出异常的<button>方法的@onclick=[...]元素将导致blazor-error-ui出现。
然而,却直接从@page的生命周期方法(即OnInitializedAsync())抛出异常,显示为而不是触发器blazor-error-ui。
我不确定这是否是有意的行为,因为文档似乎没有提到这一点。
发布于 2022-11-06 20:35:41
正如我所知道的,开发人员异常页不应该在生产模式中使用,因此为此目的,blazor-error-ui可以在Blazor中使用
在您的情况下,异常将您重定向到developer异常页,因此要查看blazor-error-ui div块,您应该禁用developer异常页。
https://stackoverflow.com/questions/74339032
复制相似问题