.Net Core 3 Razor 页面捕获 404

.Net Core 3 Razor pages catching 404

我是 Razor 页面的新手,我构建了一个包含 3 个页面的原型

host/Home
host/Login
host/Logout
host/Error

它正在工作,但我想知道如何捕获 404。例如,如果我调用 host/nonEsistingPage 或 host/somethingelse,我想重定向到 host/Home。

我怎样才能实现它?

尝试在.net core中使用UseStatusCodePages中间件。默认情况下,ASP.NET 核心应用不提供 HTTP 状态代码的状态代码页,例如 404 - Not Found。

Startup.Configure method 中调用 UseStatusCodePages:

app.UseStatusCodePages();

如果你想重定向到任何特定的 url 然后使用

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