首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Blazor:实现404找不到页面

Blazor:实现404找不到页面
EN

Stack Overflow用户
提问于 2018-12-20 05:00:12
回答 3查看 8.1K关注 0票数 7

我想在我的应用程序内部实现一个页面,该页面在blazor路由器无法找到匹配的路由时出现。目前,所有的请求都被路由到index.html,所以我无法像正常情况下那样通过iis处理错误。如果我输入了一个无效的路由,我将看到一个空白页面(实际上是index.html),并收到控制台错误:

'Router' cannot find any component with a route for '/some/Nonexistent/Route'.

看起来我应该能够处理这个问题,因为blazor路由器能够识别出没有定义与所请求的路由匹配的路由,但是到目前为止,我还找不到任何关于这方面的文档。

我如何实现这一点?有没有办法连接到blazor路由器,并将所有未找到的路由定向到预定义的错误路由?

我看到https://github.com/aspnet/AspNetCore/issues/5489列出了一个404处理程序的问题,但是我不确定这是不是为了比我要做的事情更健壮和更好的生产准备

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-12-20 06:18:29

试试这个: App.cshtml

代码语言:javascript
运行
复制
<Router AppAssembly=typeof(Program).Assembly FallbackComponent="typeof(Error404)" >

创建一个名为Error404.cshtml的组件

注意:这只是我在挖掘Router类时得到的猜测。请参阅https://github.com/aspnet/AspNetCore/blob/343208331d9ebbb3a67880133f4139bee2cb1c71/src/Components/src/Microsoft.AspNetCore.Components/Routing/Router.cs

请让我知道它是否对你有效。

票数 5
EN

Stack Overflow用户

发布于 2019-08-22 00:33:20

App.razor中,将<NotFound>元素添加到<Router>下,并设置当Blazor找不到指定的路由时要显示的内容。

例如:

代码语言:javascript
运行
复制
<Router AppAssembly="typeof(Program).Assembly">
    <NotFound>
        <h1>404 Not Found</h1>
    </NotFound>
</Router>

(注意:如果它是一个服务器端应用程序,那么它将是typeof(Startup).Assembly)

Source

票数 9
EN

Stack Overflow用户

发布于 2021-10-01 11:23:36

您可以将此链接用于.net 5.0 blazor服务器端应用程序。你可以正确处理404和状态码

https://stackoverflow.com/a/69404900/2123797

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53859078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档