Asp.net mvc 使用asp.net MVC以编程方式重定向到404页

Asp.net mvc 使用asp.net MVC以编程方式重定向到404页,asp.net-mvc,http-status-code-404,Asp.net Mvc,Http Status Code 404,我已经创建了一个Asp.net MVC应用程序。现在需要404处理 已更新global.asax并根据状态代码显示404页面。还在web.config中添加了customErrors属性。工作正常 现在,当任何事情与我们的需求不匹配时,我想通过编程重定向到404 i、 e 工作正常,但有两种状态,一种是301,然后是404。那么我怎样才能防止301呢?我只需要404 我怎样才能做到这一点呢?只要在状态代码中添加404即可: Response.StatusCode = (int)System.Ne

我已经创建了一个Asp.net MVC应用程序。现在需要404处理

已更新global.asax并根据状态代码显示404页面。还在web.config中添加了customErrors属性。工作正常

现在,当任何事情与我们的需求不匹配时,我想通过编程重定向到404

i、 e

工作正常,但有两种状态,一种是301,然后是404。那么我怎样才能防止301呢?我只需要404


我怎样才能做到这一点呢?

只要在状态代码中添加404即可:

Response.StatusCode = (int)System.Net.HttpStatusCode.NotFound

只需从您的行动中返回:

return HttpNotFound();

web.config
中,添加:

<customErrors mode="On" >
       <error statusCode="404" redirect="/404.shtml" />
</customErrors>

这是正确的答案。如果在为结果提供服务的同时查询数据库,并且发现具有用户指定ID的对象不存在,则确实需要以编程方式将用户重定向到404页面(或类似操作)。
<customErrors mode="On" >
       <error statusCode="404" redirect="/404.shtml" />
</customErrors>
if (Context.Response.StatusCode == 404) {
  // handle this
}