日期:2014-05-20  浏览次数:20486 次

PageError事件捕获的错误,在页面转发时错误信息没有了?
比如说,我这样写的
protected   override   void   OnError(EventArgs   e)
{
//Response.Redirect( "./error.aspx ");
Server.Transfer( "./errror.aspx ");
//这里不管用什么方式跳转
//在error.aspx里都无法取得Server.GetLastError()里的异常?????
//这是为什么呢???

}

error.aspx
private   void   page_load(){
System.Exception   er   =   Server.GetLastError();
 
Response.Write( "错误信息: "+er.Message+ " <BR> ");
Server.ClearError();
}
我想知道   有没有解决方案呀,谢谢大家了

------解决方案--------------------
只在当前页有效.错误扔出后就没有了.
------解决方案--------------------
只在当前页有效.错误扔出后就没有了

你个问题你已经问过了吧,你需要换个方式实现。
------解决方案--------------------
在Global.asax里的Application_Error事件

void Application_Error(object sender, EventArgs exp)
{
// 在出现未处理的错误时运行的代码
Exception e = Server.GetLastError();
string strE = "内部错误: " + e.InnerException;
applog.writeLog(strE);
Server.ClearError();
Server.Transfer( "../errorMsg.aspx?errMsg= " + strE, false);

}