如何设置应用程序。UseExceptionHandler with "razor page" Error.cshtml?



我试图用我自己创建的Error2.cshtml剃刀页面替换默认的MVC错误页面Error.cshtml,但这不起作用:错误404

我应该在路由中额外配置什么才能使其正常工作?

启动.cs

app.UseExceptionHandler("/Home/Error2"); // new razor page is located in standard /Views/Shared folder

错误2模型

namespace MyApp.Views.Shared
{
public class Error2Model : PageModel
{
public IActionResult OnGet() // this looks  unreliable but what to use instead?
{
//...
}
}
}

ASP.NET 核心中的引用句柄错误:配置自定义异常处理页面

配置异常处理程序页,以便在应用未在开发环境中运行时使用:

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
env.EnvironmentName = EnvironmentName.Production;
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/error");
}
在 Razor 页面

应用中,dotnet newRazor 页面模板在Pages文件夹中提供Error页面和错误PageModel类。

在您的情况下,您可以将其设置为

app.UseExceptionHandler("/error2");

应该放在Pages/Error2.cshtml

更新其PageModel

namespace MyApp.Pages {
public class Error2Model : PageModel {
public IActionResult OnGet() {
//...
return Page();
}
}
}

最新更新