用户控件是否可以捕获其父页面的Page.Error事件并记录该异常?
答案 0 :(得分: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();
}