evitar re-enviar datos a pagina con F5

22/07/2004 - 17:24 por alf | Informe spam
Hola:
creo que algunos hemos tenido la incomoda situacion de que el usuario
presiona F5 en una pagina que ya ha enviado los datos del form y tenemos que
el form se procesa 2 veces repitiendonos los datos.
Antes en el ASP clasico yo resolvia este problema de esta forma:

page1.asp tiene el form1, en el action del form1envio los datos a page2.asp,
page2.asp procesa los datos y los inserta y hace un redirect a page1.asp
donde ya no se muestra el form1 sino los datos agregados. De esta forma si
se presiona F5 sobre page1.asp solo se refrescaran los datos mostrados y no
hay reenvio de informacion.

esto me funciona perfecto en ASP. Estoy tratando de lograr lo mismo en .NET
pero no puedo, siempre obtengo el re-envio de los datos. No se si se pueda
tener en .NET una pagina de solo codigo como en ASP clasico, de forma que le
re-envie a ella los datos y de ella vuelva a la pagina inicial.

bueno, espero comentarios.

saludos y gracias, alf.
 

Leer las respuestas

#1 Eugenio Serrano
22/07/2004 - 18:41 | Informe spam
ASP 2.0 Va a permitir a un formulario hacer postback a otro pagina...
:-))

Por el momento eso, o redirecionando a otra pagina cuando este terminado el
proceso.
Saludos,
Eugenio Serrano
NDSoft Consultoria y Desarrollo
MS MVP ASP.Net
Instructor 3 estrella (DCE)
Voluntario Ineta Latam


"alf" escribió en el mensaje
news:
eso podria resolver un caso especifico, pero en realidad busco el metodo
para evitar este tipo de situaciones a nivel de filosofia de paginas.
o sea, lograr algo de lo que hacia antes en ASP clasico.
un saludo, alf.
"Guillermo González A." <gugonzar(-arroba-)epm.net.co> wrote in message
news:
Lo puedes hacer creando una variable booleana en el ViewState en el
momento que se hace el primer postback, debe estar en false y una vez
ejecutado el codigo puesta en true, luego cuando le den F5 a la pagina
verificas que el valor del viewState sea false para continuar ejecutando el
codigo

[C#]
if(IsPostBack)
{
if(ViewState["boleana"] == null)
{
Aqui va el codigo que se ejecuta una sola vez
}
}


-
Guillermo González Arroyave [Guille!.Net] :: Medellín :: Colombia
"alf" wrote in message
news:e$
Hola:
creo que algunos hemos tenido la incomoda situacion de que el usuario
presiona F5 en una pagina que ya ha enviado los datos del form y tenemos
que
el form se procesa 2 veces repitiendonos los datos.
Antes en el ASP clasico yo resolvia este problema de esta forma:

page1.asp tiene el form1, en el action del form1envio los datos a
page2.asp,
page2.asp procesa los datos y los inserta y hace un redirect a page1.asp
donde ya no se muestra el form1 sino los datos agregados. De esta forma
si
se presiona F5 sobre page1.asp solo se refrescaran los datos mostrados y
no
hay reenvio de informacion.

esto me funciona perfecto en ASP. Estoy tratando de lograr lo mismo en
.NET
pero no puedo, siempre obtengo el re-envio de los datos. No se si se
pueda
tener en .NET una pagina de solo codigo como en ASP clasico, de forma
que le
re-envie a ella los datos y de ella vuelva a la pagina inicial.

bueno, espero comentarios.

saludos y gracias, alf.

Preguntas similares