No es la primera vez que me preguntan cómo detener la vinculación que el control ObjectDataSource hace de manera automática cuando es configurado sobre un control que soporta vinculación, tal como GridView o DropDownList etc. Una técnica a utilizar es el evento “Selecting” del ObjectDataSource. Este evento se dispara justo cuando inicia el proceso de vinculación del control ObjectDataSource. Tenemos el argumento “e” de tipo “ObjectDataSourceSelectingEventArgs” en el cual viajan interesantes variables, datos y estados que en determinado momento podemos ocupar como por ejemplo los parámetros de entrada que usamos en un determinado ObjectDataSource.
En fin en el universo de este argumento “e” contamos con la propiedad booleana “Cancel” la cual nos permite detener o iniciar el proceso de vinculación del ObjectDataSource.
Veamos un ejemplo:
protected
void ObjectDataSource2_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
{
e.Cancel = !(TextBox1.Text.Length > 0);
}
En este caso estamos forzando que la vinculación del ObjectDataSource se efectúe siempre y cuando un control TextBox tenga datos en el.
Suerte!
anonymous
Genial Gracias!
En mi caso el control estaba con un Gridview y una serie de caampos de texto y un dropdownList y el metodo de enlace a datos todos los parametros eran opcionales, estaba como loco de hecho en una peticion a los datos se el IIS petaba
haarongonzalez
Que bien. Saludos
anonymous
gracias, ta bien