在 ASP.NET Core 中处理 404 Not Found 错误信息
admin
2021-06-03本文作者:梁桐铭- 微软最有价值专家(Microsoft MVP)
本文出自《从零开始学 ASP.NET Core 与 EntityFramework Core》目录
视频课程效果更佳:跨平台开发实战掌握 ASP.NET Core 与 EntityFramework Core
在 ASP.NET Core 中处理 404 Not Found 错误信息
大家好,我是梁桐铭,我们的 ASP.NET Core 入门课程。欢迎大家关注我的公众号,本节课我们讲解 xxx
本章中,我们将讨论以下内容:
- ASP.NET Core mvc 中的 2 种 404 错误
- 如何在 ASP.NET Core mvc 中处理 404 Not Found 错误
404 错误在 ASP.NET Core
有两种 404 错误信息:
第一种:找不到指定 id 的信息。当我们无法通过指定的 Id 找到学生、产品、客户等等信息的时候,产生的 404 错误信息,可以参考以下代码:
public IActionResult Details(int id)
{
Student student = _studentRepository.GetStudent(id);
if (student==null)
{
Response.StatusCode = 404;
return View("StudentNotFound", id);
}
return View(student);
}
可以通过传递一个 ID 为 99 的值来调用 HomeController 中的 Details()方法:
http://localhost/home/details/99
404 错误信息的视图代码
我们使用 Bootstrap 4 的样式来优化下视图,代码如下:
@model int
@{
ViewBag.Title = "404 错误";
}
<div class="alert alert-danger mt-1 mb-1">
<h4>404 Not Found 错误 :</h4>
<hr/>
<h5>
查询不到学生ID为 @Model 的信息。
</h5>
</div>
<a asp-controller="home" asp-action="index" class="btn btn-outline-success"
style="width:auto">点击此处查看学生信息列表</a>
在这种情况下,我们知道用户正在尝试转到学生详细信息页面,但因为提供的 ID 值无效。因此,我们需要返回一个带有消息的自定义错误页面,提示用户找不到 ID 以及可以单击以查看学生信息列表的链接。
第二种: 请求的 URL 地址和路由不匹配
请参考一下代码,他也会触发 404 错误异常信息:
http://localhost/market/food
在这种情况下,我们不确定用户到底在访问的什么页面,因此无法显示自定义错误页面。在这种情况下,我们通常都会返回一个统一的错误页面。我们将在下一个章节中讨论如何处理这种类型的 404 错误。
文章说明
如果您觉得我的文章质量还不错,欢迎打赏,也可以订阅我的视频哦
未得到授权不得擅自转载本文内容,52abp.com 保留版权
感谢您对我的支持