我认为这可能很简单,但我读了很多线程,无法弄清楚这一点,这让我认为这可能是不可能的(但由于我有网络表单背景,我能够做到这一点,但不能在 MVC 中做到)
我有一个剃刀页面,在这个页面上我想返回40X状态代码。我不想为此创建一个控制器,我只是希望它返回一个 40X 状态代码,其中 X 可能是一个有效值。代码应仅驻留在该视图上。这可能吗?
我已经尝试过了
@{
return NotFound;
}
@{
return Response.XXXX
}
但是要么我收到错误,指出
NotFound
是一个 void 方法,要么我无法访问任何方法来返回具有该状态的响应。
是否可以,如果可以的话有什么例子吗?
假设您使用的是 Razor Pages 而不是 MVC 并且不使用布局页面,您可以使用以下方式 hack 您的视图:
@page
@model IndexModel
@{
HttpContext.Response.StatusCode = 404;
return;
}
但是最好在页面的
OnGet()
方法中执行此操作:
public IActionResult OnGet()
{
return NotFound();
}