处理 Razor Pages页面项目中的404错误
admin
2022-02-28在Razor Pages项目中处理404错误
导航:
在本视频中,我们将讨论ASP.NET Core Razor Pages项目中的404错误处理。
在DetailsModel.cs文件中,修改OnGet()操作方法如下:
public IActionResult OnGet()
{
Student = _studentRepository.GetStudent(Id);
if (Student == null)
{
return RedirectToPage("/NotFound");
}
return Page();
}
- 如果找不到具有指定ID的学生,则使用RedirectToPage()方法将请求重定向到NotFound Razor Pages。
- OnGet()方法的返回类型为IActionResult,其中RedirectToPage()方法返回RedirectToPageResult。可以,因为RedirectToPageResult实现了IActionResult。
- 如果找到具有指定ID的学生,我们想重新渲染同一页面。这是通过Page()方法完成的。Page()方法返回PageResult,后者也实现了IActionResult接口。
- 将OnGet()操作的返回类型从void更改为IActionResult允许我们返回实现IActionResult接口的不同结果类型。
NotFound的Razor Pages
@page
@model StudentManagement.RazorPage.Pages.NotFoundModel
@{
ViewData["Title"] = "NotFound";
}
<h1>找不到您要查找的资源</h1>
<a asp-page="/Students/Index" class="btn btn-primary">
点击此处返回首页
</a>