Regarga de paginas y eventos de servido

12/07/2004 - 12:54 por Miguel A. Romera | Informe spam
Hola a todos.

Estoy desarrollando una aplicacion y me encunetro con en siguiente problema
que espero me sepais solucionar.
Tengo un formulario de servidor con una serie de datos de un cliente para
darlos de alta. He colocado un boton de servidor
para realizar el alta del mismo. Cuando hago click en el boton, desde la
funcion de servidor que responde al evento los recogo y los doy de altae en
la BD y limpio el formuario para dejarlo en blanco para añadir otro cliente
si se desea. Hasta aqui todo correcto, el problema es que si recargo la
pagina con F5 por ejemplo, me vuelve a dar de alta de nuevo el mismo
cliente.
Me gustaria hacer algo asi como "limpiar el evento" es decir que solo se
ejecute cuando le doy al boton y si recargo la pagina pues vuelva a
aparecer el formuario vacio pero sin volver a ajecutar la funcion del
evento. No se si me he explicado con claridad. Espero que si.
Pues nada, a ver si a alguien le ha surguido en mismo problema y lo a
solucionado
Gracia de antemano a todos.
 

Leer las respuestas

#1 Leonardo Diez Dolinski
12/07/2004 - 13:35 | Informe spam
Hola Miguel,
Lamentablemente, no es tan sencilla esa tarea (por lo menos que yo
sepa). Se me ocurre una forma de resolver este problema:
- Añade un hidden al formulario.
- Establece el valor del hidden con la fecha y hora actual cuando el usuario
entra a la página por primera vez (not IsPostBack en VB.NET)
- Luego de guardar los datos, sólo en caso de éxito, guarda el valor del
hidden en algún lugar, diferente para cada usuario (ej, variable de sesión,
base de datos, cache, variable de aplicación, fichero XML)
- Antes de guardar, compara el valor recibido del hidden con el lugar donde
guardas luego de grabar. Si los valores son iguales, quiere decir que esos
datos ya han sido grabados y no se deben grabar nuevamente.

En principio parece que la mejor opción a la hora de guardar el dato es una
variable de sesión, ya que es fácilmente accesible y es diferente para cada
usuario. El problema puede ocurrir si el usuario deja pasar mucho tiempo
antes de recargar la página y la sesión expira. Si por contrario guardas el
dato en otro sitio, ten cuidado de no mezclar los datos de diferentes
usuarios.

Espero que mi explicación sea más o menos clara, cualquier cosa consultame.

saludos,

Leonardo Diez Dolinski
MSCD - MVP
Equipo Danysoft


"Miguel A. Romera" wrote in message
news:46uIc.1469060$
Hola a todos.

Estoy desarrollando una aplicacion y me encunetro con en siguiente


problema
que espero me sepais solucionar.
Tengo un formulario de servidor con una serie de datos de un cliente para
darlos de alta. He colocado un boton de servidor
para realizar el alta del mismo. Cuando hago click en el boton, desde la
funcion de servidor que responde al evento los recogo y los doy de altae


en
la BD y limpio el formuario para dejarlo en blanco para añadir otro


cliente
si se desea. Hasta aqui todo correcto, el problema es que si recargo la
pagina con F5 por ejemplo, me vuelve a dar de alta de nuevo el mismo
cliente.
Me gustaria hacer algo asi como "limpiar el evento" es decir que solo se
ejecute cuando le doy al boton y si recargo la pagina pues vuelva a
aparecer el formuario vacio pero sin volver a ajecutar la funcion del
evento. No se si me he explicado con claridad. Espero que si.
Pues nada, a ver si a alguien le ha surguido en mismo problema y lo a
solucionado
Gracia de antemano a todos.


Preguntas similares