global.asax Application_Error报告原始页面

时间:2009-06-17 18:51:33

标签: c# asp.net exception

我想我知道答案,但是有可能让global.asax Application_Error事件修改原始页面上的文本框而不是将客户端移动到其他页面吗?就像是:     Exception exp = Server.GetLastError()。GetBaseException();     System.Data.SqlClient.SqlException sqlex;

if (exp is System.Data.SqlClient.SqlException) {
  sqlex = (System.Data.SqlClient.SqlException) exp;
  if (sqlex.Number == 50000) {
    if (HttpContext.Current.CurrentHandler is Page) {
      Page p = (Page) HttpContext.Current.CurrentHandler;
      Control c = p.FindControl("ErrorText");
      if (c != null && c is Label) {
        ((Label) c).Text = exp.Message;
        Server.ClearError();
        return;
      }
    }
  }
}

1 个答案:

答案 0 :(得分:1)

如果你想这样做,你应该使用页面本身的“OnError”事件。