将用户重定向到动态错误页面

时间:2010-03-01 14:43:45

标签: asp.net

我是否可以配置ASP.NET自定义错误,以便在发生错误时重定向到其他站点。更重要的是,我想每次都重定向到不同的网页。

以下是我的简化实际案例:

用户使用查询打开我的页面?urlpage = http://test.com/error.html我想在发生错误时重定向到此页面。

我应该如何在这种情况下采取行动?

2 个答案:

答案 0 :(得分:3)

请参阅http://msdn.microsoft.com/en-us/library/ed577840.aspx

在Page_Error方法中,只需执行:

var redirectUrl = Request.QueryString["urlpage"];
if (redirectUrl != null)
   Response.Redirect(redirectUrl);

答案 1 :(得分:1)

ASP.NET中有许多不同的资源可以帮助您处理错误。

我在web.config文件中发现这篇文章非常有用:http://articles.sitepoint.com/article/web-config-file-demystified

此外,您可以在global.asax文件中设置错误处理,该文件将捕获应用程序范围的错误,并允许您发送电子邮件,日志信息等。

您还可以设置特定于页面的错误处理以获取更多自定义错误信息 - 但我发现global.asax中的良好通用错误处理适用于大多数情况。

最后,您可以进入IIS的属性并修改重定向错误的位置。例如,将500错误设置为指向特定文件(/error.aspx或类似文件)。