2011-05-09 43 views

回答

2

你可以做到这一点,但如果在事件发生后已被注册,控制加载后,这意味着,由于页面加载首先它不会赶上任何错误发生错误时是不是只适用的最佳解决方案页面加载。更好的解决方案是使用global.asax中的Application_Error事件。

将这个代码在你的控制:

protected void Page_Load(object sender, EventArgs e) 
{ 
    Page.Error += new EventHandler(Page_Error); 
} 

void Page_Error(object sender, EventArgs e) 
{ 
    Exception exception = Server.GetLastError(); 

    Response.Write(exception.ToString()); 

    HttpContext.Current.ClearError(); 
} 
+0

我使用用户控制合理的是捕捉一组页面任何未处理的异常。主页面错误事件处理程序是否是捕获这些异常的更好的地方? – aster 2011-05-10 04:42:20

+0

我会放置在记录Application_Error事件,你会记录所有的错误的方式。如果你需要做一些特殊的一组特定的网页,你可以检查request.url,看看发生了什么页面错误,并做适当的事。说了这么多的母版页可能会很好的工作我从来没有做过这样的说法。 – 2011-05-10 10:02:46