在MVC 4 Razor中我会复制在ASPX OnLoad事件中执行的代码吗?

时间:2013-06-17 01:53:20

标签: asp.net-mvc-4

在ASPX项目中,我现在转换为MVC 4 Razor,自定义404错误页面在OnLoad事件中执行了几行代码,但我对MVC剃刀平台的理解不再存在,所以我我不确定在哪里运行此代码。

以下是我的ASPX页面中的代码,我希望将其转换为可处理404事件的剃刀页面。

protected override void OnLoad(EventArgs e)
{
    Response.TrySkipIisCustomErrors = true;
    Response.Status = "404 Not FOund";
    Response.StatusCode = 404;
    base.OnLoad(e);
}

2 个答案:

答案 0 :(得分:0)

试试这个......

public ActionResult Index() {        
    throw new HttpException(404, "Page Not Found");
}

编辑,这可能对您的情况更好。

public ActionResult Index() { 
    return new HttpStatusCodeResult(HttpStatusCode.NotFound, "Page Not Found");
}

此讨论有更好的解释:https://stackoverflow.com/a/4985562/193634

答案 1 :(得分:-1)

这为我设置了404:

public ActionResult Index() {
  Response.Status = "404 Not Found";
  Response.StatusCode = 404;
  return null;
}