2

我正在研究在 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 的状态代码,我想尝试避免该问题(请参阅问题)。

4

1 回答 1

1

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

Server.TransferRequest("/my404page.aspx")

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

然后返回 404

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

希望有帮助

于 2013-10-30T15:58:26.097 回答