C# global.asax应用程序\u原始页面上的错误报告
我想我知道答案,但是是否可以让global.asax Application_Error事件修改原始页面上的文本框,而不将客户端移动到其他页面?比如: 异常exp=Server.GetLastError().GetBaseException(); System.Data.SqlClient.SqlException sqlexC# global.asax应用程序\u原始页面上的错误报告,c#,asp.net,exception,C#,Asp.net,Exception,我想我知道答案,但是是否可以让global.asax Application_Error事件修改原始页面上的文本框,而不将客户端移动到其他页面?比如: 异常exp=Server.GetLastError().GetBaseException(); System.Data.SqlClient.SqlException sqlex if (exp is System.Data.SqlClient.SqlException) { sqlex = (System.Data.SqlClient.Sql
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;
}
}
}
}
如果要执行此操作,则应使用页面本身的“OnError”事件。right。。问题是,我希望对整个应用程序进行完全相同的错误处理。有没有一种方法可以将该代码用于所有我的页面错误?如果您的所有页面都有一个基类,您可以在那里处理它。web.config中还有一个pageBaseType属性,可以帮助您全局更改基类: