Я думаю, что знаю ответ, но возможно ли событие global.asax Application_Error изменить текстовое поле на исходной странице и не перемещать клиента на другую страницу? что-то вроде:
Исключение 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;
}
}
}
}