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.

Preguntas similare

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.
Respuesta Responder a este mensaje
#2 Eugenio Serrano
22/07/2004 - 19:07 | Informe spam
Este ejemplo no se ejecuta nunca.
Ya que con F5 no se hace postback (Es como que cargan de nuevo el navegador
o sea no es postback)
Por lo tanto, no queda mas que guardar la info en el servidor, ya sea en
session en la base de datos, etc..

Saludos,
Eugenio Serrano
NDSoft Consultoria y Desarrollo
MS MVP ASP.Net
Instructor 3 estrella (DCE)
Voluntario Ineta Latam

"Guillermo González A." <gugonzar(-arroba-)epm.net.co> escribió en el
mensaje 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.
Respuesta Responder a este mensaje
#3 alf
22/07/2004 - 19:21 | Informe spam
y para cuando sale ASP 2.0 ??? para ver si doy golpes en la cabeza ahora
haciendo mi aplicaicon o espero un poquito para hacerla como es debido.

saludos, alf.

"Eugenio Serrano" <eugenios(arroba)ndsoft.com.ar> wrote in message
news:
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.



Respuesta Responder a este mensaje
#4 Sergio Florez M.
22/07/2004 - 19:32 | Informe spam
Apenas salio el primer beta. Digamos que le falta por lo menos un año.

Sergio Florez M.
El que persevera insiste
Medellín, Colombia
"alf" escribió en el mensaje
news:
y para cuando sale ASP 2.0 ??? para ver si doy golpes en la cabeza ahora
haciendo mi aplicaicon o espero un poquito para hacerla como es debido.

saludos, alf.

"Eugenio Serrano" <eugenios(arroba)ndsoft.com.ar> wrote in message
news:
> 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.
>
>
>


Respuesta Responder a este mensaje
#5 Eugenio Serrano
23/07/2004 - 02:44 | Informe spam
No no lo hace. Consulta a la pagina de nuevo, pero no es postback. En el
server se ve como si hubieras abierto la la pagina por primera vez no como
postback
Para hacer una prueba simple crea una pagina nueva y en el load escribe

response.wrtite(IsPostBack.ToString)

Y presiona F5 cuantas veces quieras, veras que siempre es false

Saludos,
Eugenio Serrano
NDSoft Consultoria y Desarrollo
MS MVP ASP.Net
Instructor 3 estrella (DCE)
Voluntario Ineta Latam

"alf" escribió en el mensaje
news:
si que lo hace, y eso precisamente es lo que estoy tratando de evitar en mi
aplicacion.

saludos, alf.


"Guillermo González A." <gugonzar(-arroba-)epm.net.co> wrote in message
news:%23yvu%
Eugenio,
Pero si se hace F5 despues de haber presionado el boton de submit hace de
nuevo el POSTBACK ?
o estoy equivocado ?

-
Guillermo González Arroyave [Guille!.Net] :: Medellín :: Colombia
"Eugenio Serrano" <eugenios(arroba)ndsoft.com.ar> wrote in message
news:
Este ejemplo no se ejecuta nunca.
Ya que con F5 no se hace postback (Es como que cargan de nuevo el
navegador
o sea no es postback)
Por lo tanto, no queda mas que guardar la info en el servidor, ya sea en
session en la base de datos, etc..

Saludos,
Eugenio Serrano
NDSoft Consultoria y Desarrollo
MS MVP ASP.Net
Instructor 3 estrella (DCE)
Voluntario Ineta Latam

"Guillermo González A." <gugonzar(-arroba-)epm.net.co> escribió en el
mensaje 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.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida