2014-04-01 37 views
0

我定义在ASP.NETcatch错误与Custome错误页面

<customErrors mode="RemoteOnly" defaultRedirect="Oops.aspx"></customErrors> 

当错误发生时,我被重定向到该页面使用以下URL自定义错误页:

Oops.aspx?aspxerrorpath=/WebForm1.aspx 

Oops.aspx页的Page Load方法,我试图捕获错误:

Exception exc = Server.GetLastError(); 
if (exc != null) 
{ 
    //do something 
} 

但是,看起来exc实际上是null,因为没有在该条件语句中定义的操作正在执行。

+1

如果您在数据存储区中记录错误,最好的方法是通过在Global.asax的Application_Error方法中记录该错误,然后重定向到Oops.aspx?refId = yourerrorId'存储在数据存储区中的错误记录的关键字。 – Nilesh

+0

@Nilesh如何检索在Global.asax中导致错误的页面? –

+0

@AliBassam http://stackoverflow.com/questions/344440/how-to-get-which-page-threw-an-exception-to-application-error-in-aspx –

回答

0

如果您在数据存储中记录错误,最好的方法是通过在Global.asax的Application_Error方法中记录该错误,然后重定向到Oops.aspx?refId = yourerrorId,并使用存储在数据存储区中的错误记录。