- 确保在Blazor Server应用程序的Startup.cs文件中启用UseStatusCodePagesWithReExecute中间件,并确保将StatusCodePagesWithReExecuteOptions中的重新执行路径重定向到主页。
示例代码:
services.AddMvc();
app.UseStatusCodePagesWithReExecute("/Home/Index");
app.UseMvc();
- 将页面的返回类型更改为StatusCodeResult,此方法将在页面不可用时返回正确的HTTP状态代码,而不是Soft 404错误。
示例代码:
public async Task MyPage()
{
var pageData = await _myService.GetData();
if (pageData == null)
{
return StatusCode(404);
}
return View(pageData);
}