2009-02-26 16 views
5

Hay una gran tarea. Hay un panel de actualización upDetails, que muestra la tabla de detalles (visiblely = falso) cuando el usuario selecciona cualquier elemento de la tabla maestra, deberíamos configurar upDetails.Visible = true;UpdatePanel.Visible = true no tiene efecto

Pero soesn't trabajo sea cual sea el lugar/evento que había colocado - ni métodos BL, ni pre-render. Todavía puede ser invisible

Pero cuando no lo logro initialy invisible, todo funciona bien

¿Qué hago mal?

Gracias de antemano

+0

Echa un vistazo a esto: http://stackoverflow.com/questions/2539204/panel-visible-true-has-no-effect – andoni90

Respuesta

9

¿Estás hablando de la UpdatePanel de ASP.NET AJAX Control de? Intente colocar un Panel Control "real" (asp: Panel) dentro del UpdatePanel y establezca la visibilidad falsa/verdadera en ese control y deje el Panel de Actualización visible.

+1

He estado reflexionando sobre ese enfoque si nada más ayudaría, pero me pregunto ¿Por qué sucede esto y es posible evitar agregar paneles redundantes? –

1

Debe asegurarse de que el control que contiene su panel esté visible. Si no lo está, establecer la propiedad visible en el control del panel de actualización no hará nada, por lo que deberá asegurarse de que el control del contenedor esté visible PRIMERO.

2

I buscado durante mucho tiempo y ahora, experimentaron, y no podía conseguir que esto funcione, por desgracia. Mi decisión final fue envolver el contenido que quería mostrar/ocultar dentro de los controles Placeholder. Le dan la flexibilidad de alternar la visibilidad sin agregar marcas.

+0

para publicación el 4 de febrero a las 6:41 - ¿Podría darnos un ejemplo del uso de controles de marcador de posición? –

+0

Simplemente anida un marcador de posición (asp: marcador de posición) dentro del panel de actualización, alrededor de todos sus contenidos. Luego, en lugar de establecer Visible en UpdatePanel, lo configura en el PlaceHolder. – ctorx

3

Si la visibilidad del panel de actualización está establecida en falso, no se representa en la salida. No se procesa, no existe el lado del cliente donde no se puede usar (no evento por ajax).

El uso de un marcador de posición es la solución a su problema.

Cuestiones relacionadas