| ID | Asunto | Fecha | Nick | |
| 41176 | Eventos que se producen cuando se cambia de pagina | 09/05/08 11:18 | joshegarcia | |  |
Hola. Mi nombre es Jose. Tengo un problema, desde hace tiempo, lo he probado todo (por lo menos eso creo) y no soy capaz a solucionarlo, a ver si me dais una idea de como hacerlo.
Lo que quiero hacer, es registrar en una B.D. a los clientes que entran a visitar mi página web, y registrar también el tiempo que están en ella(fecha entrada - fecha salida). Para ello, hago lo siguiente. (Utilizo SQL-Server y C#).
-> En Page_Load de mi clase MAIN, grabo en la B.D. los datos que he capturado al cliente, así como la fecha y la hora. Seguidamente leo el índice de registro que se ha generado automáticamente (para luego usarlo cuando el cliente abandone la página, poder grabar la fecha y hora de abandono).
Mi problema está ahí, no se como detectar cuando el usuario ha cambiado de página o la ha cerrado. He intentado usar el evento Onunload para cuando el cliente salga de la página grabar esos datos, pero mirando por ahí, he visto que este evento ejecuta un script, y a mí no me vale (o eso creo), ya que el índice que utilizo para saber donde tengo que insertar la fecha está en el objeto de la clase MAIN .
¿Como podría hacerlo?, ¿Se podría hacer con un script?, y si es así, como puedo acceder al objeto generado de la clase MAIN.
Gracias por todo. Jose. |
|
| ID | Asunto | Fecha | Nick | |
| 41368 | Re: Eventos que se producen cuando se cambia de pagina (Resp: 41176) | 15/05/08 08:34 | JavierSantamaria | |  |
Hola, Lo que puedes hacer es ejecutar una funcion javascript que te haga postback cuando se ejecute el onunload. Te dejo un ejemplo: Esta es tu funcion te code behind Protected Sub Page
_Load(ByVal sender As Object, ByVal e As
System.EventArgs)
Handles Me.Load
If (IsPostBack) Then
If (Request.Params("__EVENTTARGET") = "form1") Then
...
End If
Else
Page.Clientscript.GetPostBackEventReference(New PostBackOptions(Page))
End If
End SubY esta es tu funcion de javascript function postback(){
__doPostBack("form1","");
}A esa funcion de javascript la llamas desde el onunload del body y listo Saludos
Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias. |