处理 Razor Pages页面项目中的404错误

admin
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接口的不同结果类型。

13

NotFound的Razor Pages


@page
@model StudentManagement.RazorPage.Pages.NotFoundModel
@{
    ViewData["Title"] = "NotFound";
}

<h1>找不到您要查找的资源</h1>
<a asp-page="/Students/Index" class="btn btn-primary">
    点击此处返回首页
</a>