【发布时间】:2010-03-01 22:56:36
【问题描述】:
我可以配置 ASP.NET 自定义错误,以便在发生错误时重定向到其他站点。更重要的是,我想每次都重定向到不同的网页。
这是我的简化实际案例:
用户使用查询 ?urlpage=http://test.com/error.html 打开我的页面,我想在发生错误时重定向到此页面。
在这种情况下我应该怎么做?
【问题讨论】:
标签: asp.net
我可以配置 ASP.NET 自定义错误,以便在发生错误时重定向到其他站点。更重要的是,我想每次都重定向到不同的网页。
这是我的简化实际案例:
用户使用查询 ?urlpage=http://test.com/error.html 打开我的页面,我想在发生错误时重定向到此页面。
在这种情况下我应该怎么做?
【问题讨论】:
标签: asp.net
见http://msdn.microsoft.com/en-us/library/ed577840.aspx
而在 Page_Error 方法中,只需这样做:
var redirectUrl = Request.QueryString["urlpage"];
if (redirectUrl != null)
Response.Redirect(redirectUrl);
【讨论】:
ASP.NET 中有许多不同的资源可以让您处理错误。
我在 web.config 文件中发现这篇文章非常有用:http://articles.sitepoint.com/article/web-config-file-demystified
此外,您可以在 global.asax 文件中设置错误处理,该文件将捕获应用程序范围的错误并允许您发送电子邮件、日志信息等。
您还可以为更多自定义错误信息设置特定于页面的错误处理 - 但我发现 global.asax 中一个良好的通用错误处理适用于大多数情况。
最后,您可以进入 IIS 的属性并修改错误重定向的位置。例如,将 500 错误设置为指向特定文件(/error.aspx 或类似文件)。
【讨论】: