protected void Application_Error(object sender, EventArgs e)
{
Exception ex = this.Server.GetLastError();
this.Server.ClearError();
string errorMessage = ex.Message;
logger.Error(errorMessage, ex);
Response.Redirect("~/Error.aspx");
}
0
A
回答
0
在这种情况下,我宁愿会议。然后,您可以保留完整的异常,包括堆栈跟踪以进一步处理。但您无法直接在Application_Error
中访问会话。这应该工作:
private void Application_Error(object sender, EventArgs e)
{
Exception ex = this.Server.GetLastError();
// ...
HttpApplication application = (HttpApplication)sender;
HttpContext context = application.Context;
context.Session["LastError"] = ex;
Response.Redirect("~/Error.aspx");
}
现在,您可以访问例外Error.aspx
这样:
protected void Page_Load(Object sender, EventArgs e)
{
Exception ex = (Exception)Session["LastError"];
}
+0
有没有必要重定向页面?我怎样才能检索另一页上的消息? – ashT
+0
@ashT:但我已重定向 –
0
我认为你可以使用Server.Transfer
在Global.asax
:
void Application_Error(object sender, EventArgs e)
{
// Code that runs when an unhandled error occurs
//direct user to error page
Server.Transfer("~/Error_Pages/ErrorPage500.aspx");
}
而在你的错误页面,您可以得到内部异常来检查实际发生的异常:
protected void Page_Load(object sender, EventArgs e)
{
LoadError(Server.GetLastError());
}
protected void LoadError(Exception objError)
{
Exception innerException = null;
if (objError != null)
{
if (objError.InnerException != null)
{
innerException = objError.InnerException;
}
}
}
相关问题
- 1. 如何从另一个.aspx页面更新一个.aspx页面的div?
- 2. 如何传递值一个ASPX到另一个aspx页面
- 3. 如何从aspx页面重定向到另一个aspx页面的方法
- 4. 从一个aspx页面
- 5. 找到一个aspx页面
- 6. 将多个ID从第一个aspx页面存储到下一个aspx页面
- 7. 从另一个ASPX页面显示DIV?
- 8. 如何将值从一个aspx页面传递到HTML页面?
- 9. 如何在另一个aspx页面中包含aspx页面?在asp.net
- 10. 我如何让1 .aspx页面使用另一个.aspx页面的代码?
- 11. 如何在aspx c#页面中创建另一个页面类
- 12. 从一个页面输入的信息到另一个页面
- 13. 在一个aspx页面
- 14. 下一个aspx页面
- 15. 从一个aspx页面读取值到另一个
- 16. 从另一个aspx调用aspx,html页面
- 17. 如何从处理程序页面发送ID到aspx页面
- 18. 从另一个aspx页面取出xml页面
- 19. 如何在另一个aspx页面的更新面板中放置一个aspx页面
- 20. 如何从另一个.aspx页面获取Global.asax中的log4net日志信息?
- 21. 使用C#从一个.aspx页面重定向到另一个.aspx页面使用C#
- 22. 传送信息/从一个页面变量到另一个
- 23. 如何将信息从一个html页面发送到另一个?
- 24. 如何解析一个aspx页面
- 25. Html ..如何使用从一个页面到另一个页面的信息?
- 26. 从另一台PC调用aspx页面
- 27. 当通过另一个aspx页面的javascript打开aspx页面时,不会触发PageLoad事件页面
- 28. 将一个aspx页面转到链接?
- 29. 将数据发布到另一个aspx页面
- 30. 如何在ASP.NET中打开一个像aspx页面的aspx页面
你可以在asp.net中使用session,这是我能想到的最简单的方法 –
尝试使用查询字符串,传递错误代码。 – User2012384
在这种情况下,我宁愿会话。然后,您可以保留完整的异常,包括堆栈跟踪以进一步处理。 –