Problemas con la sesión con Postback en window.ShowModaldialog
Hoy un compañero me ha comentado que estaban teniendo problemas con una aplicación que están manteniendo en un cliente y en concreto en una ventana que abrían con la función window.ShowModaldialog() y en la que al cargarse se mostraban los valores de unas variables de sesión, pero que al hacer click sobre un botón que causaba postback esos valores los estaban perdiendo.
El problema radica en las ventanas que se abren con window.ShowModalDialog y es que el postback causa una nueva petición al servidor que hace que se dispare el evento Session_Start, con lo cual todas las varibles de sesión se pierden.
En estos casos podemos hacer 2 cosas:
- Usar este tipo de ventanas sólo para interactuar mediante JavaScript y devolver los datos a la página padre y si necesitamos hacer postback para ejecutar código de servidor, utilizar window.open
- Usar ModalPopup de AJAX Control ToolKit, yo lo utilizo en controles de usuario y disparo eventos personalizados para comunicarme con las páginas.
Salu2 y espero que os sea útil ;)