.Net Core 3 Razor 页面捕获 404
Posted
技术标签:
【中文标题】.Net Core 3 Razor 页面捕获 404【英文标题】:.Net Core 3 Razor pages catching 404 【发布时间】:2021-02-13 03:01:16 【问题描述】:我是 Razor 页面的新手,我用 3 个页面构建了一个原型
主机/主页 主机/登录 主机/注销 主机/错误
它正在工作,但我想知道如何捕获 404。例如,如果我调用 host/nonEsistingPage 或 host/somethingelse,我想重定向到 host/Home。
我怎样才能实现它?
【问题讨论】:
【参考方案1】:尝试在.net core 中使用UseStatusCodePages
中间件。默认情况下,ASP.NET Core 应用不提供 HTTP 状态代码的状态代码页,例如 404 - Not Found。
在Startup.Configure method
中调用UseStatusCodePages
:
app.UseStatusCodePages();
如果您想重定向到任何特定的网址,请使用
app.UseStatusCodePagesWithRedirects("/host/Home?code=0");
在 .Net Core 文档中了解有关 app.UseStatusCodePages() 的更多信息:https://docs.microsoft.com/en-us/aspnet/core/fundamentals/error-handling?view=aspnetcore-3.1
【讨论】:
以上是关于.Net Core 3 Razor 页面捕获 404的主要内容,如果未能解决你的问题,请参考以下文章
如何在 asp.net core razor 页面中拒绝匿名用户?
Asp .Net Core 3.1 Razor 页面:复杂模型绑定
ASP.NET Core 3.1 Razor 页面路由不明确匹配异常
Asp.net Core 3.1-如何从控制器返回到 Razor 页面?