ASP.NET - capturar cierre de webform

 
Vista:

capturar cierre de webform

Publicado por Gustavo (32 intervenciones) el 03/05/2004 16:08:33
¿Existe alguna forma de capturar el cierre de un webform? en asp.net Algo parecido al evento unload de un windows form en vbasic. Necesito que cuando el cliente cierra la ventana se ejecute una acción en el servidor.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:capturar cierre de webform

Publicado por Victor Collado (219 intervenciones) el 03/05/2004 17:00:56
Hola

Debes usar el evento de cliente onunload y desde este evento puedes enviar la pagina al servidor de nuevo y alli realizar lo que necesitas, recuerda que el servidor despues que envia la pagina a el usuario pierde toda comunicacion con la pagina y con la maquina del usuario ya que el protocolo HTTP es un protocolo sin estado.
Dime que necesitas hacer para ver si te puedo dar alguna idea.

Saludos

Victor Collado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:capturar cierre de webform

Publicado por gustavo (32 intervenciones) el 04/05/2004 16:19:03
Gracias Victor
Entiendo la idea paro no puedo encontrar ( y no me acepta que lo escriba) el evento onunload del web form en la definición html del mismo (si encuentro y acepta otros como el onclick).
Lo que necesito hacer es que cuando el cliente cierra el formulario se elimine un registro de la base de datos ( previamente creado cuando el cliente cargo la pagina)
Muchas gracias
gustavo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:capturar cierre de webform

Publicado por Victor Collado (219 intervenciones) el 04/05/2004 16:57:13
Hola

Ele evento onunload lo declaras de la siguiente forma, escribe esto antes de </Head>
<SCRIPT LANGUAGUE=javascript>
<!--
function window_onunload() {
window.open("NuevaPagina.aspx");
}
//-->
</script>

Despues en el body de tu pagina escibes esto:
<body onunload="return window_onunload()">

Como ves en este ejemplo, si se dispara el evento onunload abrire una nueva pagina, en esta nueva pagina puedes tener el codigo para eliminar el registro de la base de datos, pero recuerda lo siguiente, si alguien hace clic en un link se va a disparar el evento onunload, por eso te aconsejo que tengas otro script de cliente junto con el de onunload y que los dos compartan una variable global y asi, cada vez que el usuario hace clic en un link tu llamas a este script desde el link en su evento clic y aumentas por ejemplo + 1 la variable global, despues cuando la pagina se va a mover a el link se dispara el evento onunload y si la variable global es igual a + 1 tu no abres la otra pagina pero si la variable es igual a 0 significa que tu cliente esta cerrando el browser y entonces abres la Nueva pagina y eliminas el registro en su evento Load de la nueva Pagina.

Espero entiendas y te sirva.

Saludos

Victor Collado

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:capturar cierre de webform

Publicado por gustavo (32 intervenciones) el 05/05/2004 16:29:10
Muchisimas gracias victor
Están muy claras tus explicaciones. Ya funciona. Me falta probar lo de las variables para diferenciar el unload de otras acciones.
Con esta idea lo que ahora seguramente voy a necesitar es alguna forma de forzar el cierre de una pagina (la segunda) con alguna instrucción, algo análogo al unload me del viejo vbasic
Saludos
gustavo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:capturar cierre de webform

Publicado por Victor Collado (219 intervenciones) el 05/05/2004 16:44:07
Hola

Por nada.
Siempre puedes forzar el cierre de una pagina con javascript.
window.Close()

Saludos

Victor Collado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar