首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >有可能在ASP.Net页面中抛出404错误吗?

有可能在ASP.Net页面中抛出404错误吗?
EN

Stack Overflow用户
提问于 2011-02-12 06:05:45
回答 3查看 24.8K关注 0票数 26

我想知道是否有可能在一个页面中抛出一个404错误(代码隐藏)?或者甚至可能抛出任何其他类型的错误页面,例如408(超时)或401(需要身份验证)?

注意:我不仅希望页面返回状态代码404,还希望它使用ASP.Net(或我的CustomErrors) 404错误页面。

在后面的代码中如下所示:

if(id>10){ //if id is greater than 10, then it doesn't exist here
  throw 404Error();
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-02-12 06:07:12

您可以抛出一个HttpException并设置相应的状态代码:

throw new HttpException(404, "Not found");

它还可以与其他状态代码一起使用。关于401你可能知道,当ASP.NET MVC检测到这段代码时,它会自动将你重定向到登录页面,并为401状态代码获取一个自定义错误页面,这可能是一个真正需要实现的事情。

票数 41
EN

Stack Overflow用户

发布于 2014-05-04 19:35:06

一种更好的方法是:

// Throws a 404 Not found
Response.Clear();
Response.StatusCode = 404;
Response.End();

不需要抛出异常,在Web.Config中使用自定义错误页时,上面的方法效果会更好

票数 21
EN

Stack Overflow用户

发布于 2019-12-17 18:03:43

关于ASP.NET中的页面加载,WebForms需要一些小的变通方法。

protected void Page_Load(object sender, EventArgs e)
{
    HttpNotFound();
}

private void HttpNotFound()
{
    Response.Clear();
    Response.StatusCode = 404;
    Response.End();
    HttpContext.Current.ApplicationInstance.CompleteRequest();
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4974562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档