You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET 8 Blazor Server中NotFound错误如何在应用主体内显示?

解决方案

问题根源在于<NotFound>块中的内容没有应用你的MainLayout,所以会直接全屏渲染;而匹配到路由的页面是通过<RouteView>指定了DefaultLayout,才会进入布局中的错误边界,在主体区域显示错误。

要让404错误也显示在应用主体内,只需要在<NotFound>中手动包裹MainLayout即可:

修改Routes.razor中的<NotFound>部分:

<NotFound>
    <Layout.MainLayout>
        <Error ErrorDetail='new Exception("Route Not Found")' />
    </Layout.MainLayout>
</NotFound>

这样修改后,404错误组件就会嵌入到MainLayout的主体区域(也就是原来@Body的位置),和其他页面抛出的错误表现一致,用户依然可以操作应用的其他部分。

内容的提问来源于stack exchange,提问作者bilpor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 20:03:09