首页 > 代码库 > ASP.NET Core中显示自定义错误页面
ASP.NET Core中显示自定义错误页面
在 ASP.NET Core 中,默认情况下当发生500或404错误时,只返回http状态码,不返回任何内容,页面一片空白。
如果在 Startup.cs 的 Configure() 中加上 app.UseStatusCodePages(); ,500错误时依然是一片空白(不知为何对500错误不起作用),404错误时有所改观,页面会显示下面的文字:
Status Code: 404; Not Found
如果我们想不管500还是404错误都显示友好的自定义错误页面,该如何实现呢?请看下面的分解。
对于500错误,我们改用 app.UseExceptionHandler() 进行截获;
对于404错误,我们用 app.UseStatusCodePages() 的增强版 app.UseStatusCodePagesWithReExecute() 进行截获;
然后转交给显示自定义错误页面的URL进行处理。
app.UseExceptionHandler("/errors/500");app.UseStatusCodePagesWithReExecute("/errors/{0}");
接着针对上面的URL,在 MVC Controller 中实现之。
public class ErrorsController : Controller{ [Route("errors/{statusCode}")] public IActionResult CustomError(int statusCode) { if(statusCode == 404) { return View("~/Views/Errors/404.cshtml"); } return View("~/Views/Errors/500.cshtml"); } }
ASP.NET Core中显示自定义错误页面
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。