【问题标题】:Handling 404 error in ASP.NET Web Forms with URL Routing使用 URL 路由处理 ASP.NET Web 窗体中的 404 错误
【发布时间】:2013-10-26 06:34:10
【问题描述】:

我正在研究在 ASP.NET Web 表单网站上实现 URL 路由,并且一直在寻找处理 404 错误的最佳方法,例如:

routes.MapPageRoute("NewsRouteArticle", "news/article/{url}", "~/news.aspx")

URL 与数据库中的新闻文章相匹配。

如果新闻文章不再存在会怎样?如何处理此问题并将用户重定向到自定义错误页面?

我一直在阅读有关 Throw New HttpResponseException(HttpStatusCode.NotFound) 的信息,但它看起来像是针对 ASP.NET Web API 的。

我也知道 ASP.NET 存在的问题,其中 404 错误实际上给出的状态代码为 302,我想尝试避免该问题(请参阅 this)。

【问题讨论】:

    标签: asp.net webforms http-status-code-404 url-routing


    【解决方案1】:

    使用 ASP.NET.MVC 的一个很好的理由,我已经很久没有在 webforms 中做任何事情了,但是我使用了

    Server.TransferRequest("/my404page.aspx")

    这停止了 2 个请求和 302 到 404 的问题

    然后返回 404

       Response.Clear()
        Response.TrySkipIisCustomErrors = True
        Response.StatusCode = 404
    

    希望有帮助

    【讨论】:

      猜你喜欢
      • 2013-06-24
      • 2012-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-01
      相关资源
      最近更新 更多