Hola todos en el Foro, estuve investigando la manera de agarrar las excepciones de los DataSources y bueno, primero, saber que los DataSources se ejecutan antes del Evento PreRender y tendremos siempre para un Update, Insert, Delete o Select dos eventos importantes: Uno que termina con
ed (Selected por ejemplo) y otro que terminan en
ing (Selecting). Si queremos agarrar las excepciones de un ObjectDataSource por ejemplo tendriamos que utilizar el Evento ObjectDataSource.Selected tal como se ve a continuación:
Código:
protected void MiDataSource_Selected(object sender, ObjectDataSourceStatusEventArgs e)
{
if (e.Exception != null)
{
// Código que ayude a controlar la excepción.
e.ExceptionHandled = true;
}
}
Lo importante de este codigo son las dos lineas:
que verifica si existe alguna excepción en el argumento o es nula.
Código:
e.ExceptionHandled = true;
Esta linea es en realidad la mas importante, por que se indica que la excepción esta controlada. Ya no saldra
la molesta pantallita amarilla.
Otro detalle importante, la ventaja de usar ObjectDataSources contra SqlDataSources, es que si uno vincula un sqlds a dos controles, estos harán que el sqldatasource haga dos viajes a la Base de Datos, mientras que con ObjectDS, solamente se hace referencia una sola vez, existen muchas otras desventajas del sqlds en aplicaciones grandes pero eso depende del diseño.
Supongo que eso es todo, espero que sirva y si hay algun comentario por favor haganmelo saber.
nos vemos