Tengo un UserControl
con un número de cascada DropDownList
s en él. Seleccionar de la lista 1 habilita la lista 2, que a su vez habilita la lista 3. Una vez que haya hecho una selección en las tres listas, puede pasar a la página siguiente.Actualizar un control fuera del UpdatePanel
Las DropDownList
están dentro de un UpdatePanel
. Pero el botón "Página siguiente" está fuera del UpdatePanel
. Ese botón debe deshabilitarse hasta que las tres listas tengan una selección, y luego debe habilitarse de nuevo. Pero como el botón está fuera del UpdatePanel
, no se actualiza cuando hago selecciones. (Editar: El botón "Página siguiente" está en una página que también contiene el UserControl
.)
Yo sé una manera de resolver esto:
var scriptManager = ScriptManager.GetCurrent(this.Page);
scriptManager.RegisterPostBackControl(dropDownList1);
scriptManager.RegisterPostBackControl(dropDownList2);
scriptManager.RegisterPostBackControl(dropDownList3);
Esto asegura una devolución de datos cuando cualquier lista desplegable está cambiado, para que el botón pueda actualizarse. Pero si hago esto, podría simplificar al deshacerme del UpdatePanel
en primer lugar.
¿Existe alguna otra forma, a través de algún JavaScript inteligente o algo así, de que pueda actualizar un control fuera de UpdatePanel
sin tener que renunciar a Ajax?
Esto es lo más cercano a lo que tenía que hacer. En lugar de un disparador, simplemente tuve que llamar a un método en la página principal (lanzando esta página) para configurar el botón Siguiente correctamente. También tuve que RegisterPostBackControl en el botón Siguiente para que funcione dentro de UpdatePanel. –