Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

evitar re-enviar datos a pagina con F5

1,390 views
Skip to first unread message

alf

unread,
Jul 22, 2004, 11:24:51 AM7/22/04
to
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.


=?iso-8859-1?Q?Guillermo_Gonz=E1lez_A. ?= -arroba-

unread,
Jul 22, 2004, 11:53:21 AM7/22/04
to
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

unread,
Jul 22, 2004, 12:00:53 PM7/22/04
to
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:eYC1BQAc...@TK2MSFTNGP12.phx.gbl...

=?iso-8859-1?Q?Guillermo_Gonz=E1lez_A. ?= -arroba-

unread,
Jul 22, 2004, 12:14:08 PM7/22/04
to
Entonces al terminar el procesamiento, simplemente realiza un redireccionamiento a la otra pagina.
 

Guillermo González Arroyave [Guille!.Net] :: Medellín :: Colombia

alf

unread,
Jul 22, 2004, 12:38:03 PM7/22/04
to
y me funcionaria bien la idea de tener una pagina con solo codigo ???
 
o sea, una pagina que realice las operaciones de insertado y luego redireccion a la pagina del web form que se muestran los datos.
 
"Guillermo González A." <gugonzar(-arroba-)epm.net.co> wrote in message news:On81obAc...@TK2MSFTNGP12.phx.gbl...

Eugenio Serrano arroba

unread,
Jul 22, 2004, 12:41:20 PM7/22/04
to
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" <alf...@NOSPAMcubaautrement.com> escribió en el mensaje
news:OQf0NUA...@TK2MSFTNGP10.phx.gbl...


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:eYC1BQAc...@TK2MSFTNGP12.phx.gbl...
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
}
}


----------------------------------------------------------------------------
--

Eugenio Serrano arroba

unread,
Jul 22, 2004, 1:07:19 PM7/22/04
to
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:eYC1BQAc...@TK2MSFTNGP12.phx.gbl...


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
}
}


----------------------------------------------------------------------------
----

alf

unread,
Jul 22, 2004, 1:21:38 PM7/22/04
to
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:e5k80pAc...@TK2MSFTNGP12.phx.gbl...

Sergio Florez M.

unread,
Jul 22, 2004, 1:32:57 PM7/22/04
to
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" <alf...@NOSPAMcubaautrement.com> escribió en el mensaje

news:eqBUVBBc...@TK2MSFTNGP12.phx.gbl...

=?iso-8859-1?Q?Guillermo_Gonz=E1lez_A. ?= -arroba-

unread,
Jul 22, 2004, 3:10:07 PM7/22/04
to
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:Ou8aY4Ac...@TK2MSFTNGP10.phx.gbl...

alf

unread,
Jul 22, 2004, 3:18:27 PM7/22/04
to
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%239BcE...@tk2msftngp13.phx.gbl...

=?iso-8859-1?Q?Guillermo_Gonz=E1lez_A. ?= -arroba-

unread,
Jul 22, 2004, 4:09:57 PM7/22/04
to
Hola Alf
Pon este codigo en el Form_Load de una pagina ASP.net:
 
private void Page_Load(object sender, System.EventArgs e)
  {
   bool unaVez = false;
   if(ViewState["unaVez"] != null)
   {
    unaVez = (bool)ViewState["unaVez"];
   }
 
   if(IsPostBack && !unaVez)
   {
        // Aqui va el codigo que solo se ejecuta una vez
        ViewState["unaVez"] = true;
   }
  }
 
y le pones un boton que genere el postback ...
 

Guillermo González Arroyave [Guille!.Net] :: Medellín :: Colombia

Eugenio Serrano arroba

unread,
Jul 22, 2004, 8:44:36 PM7/22/04
to
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" <alf...@NOSPAMcubaautrement.com> escribió en el mensaje
news:uXrZnCCc...@tk2msftngp13.phx.gbl...


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%239BcE...@tk2msftngp13.phx.gbl...
Eugenio,
Pero si se hace F5 despues de haber presionado el boton de submit hace de
nuevo el POSTBACK ?
o estoy equivocado ?

----------------------------------------------------------------------------
--

Eugenio Serrano arroba

unread,
Jul 22, 2004, 8:49:10 PM7/22/04
to
Oops. Si guillermo !!
Si se presiona F5 luego de hacer postback hace postback nuevamente.
Pero si se presiona F5 sin haber hecho postback no lo hace.
Perdon por la confusion que meti
:-((

--
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:#yvu#9BcEH...@tk2msftngp13.phx.gbl...


Eugenio,
Pero si se hace F5 despues de haber presionado el boton de submit hace de
nuevo el POSTBACK ?
o estoy equivocado ?

----------------------------------------------------------------------------

=?iso-8859-1?Q?Guillermo_Gonz=E1lez_A. ?= -arroba-

unread,
Jul 23, 2004, 8:59:02 AM7/23/04
to
Ok :)
Ya pense que estaba viendo visiones aqui .. jejejeje :)
 
Muchas gracias Eugenio ... !
 

Guillermo González Arroyave [Guille!.Net] :: Medellín :: Colombia
"Eugenio Serrano" <eugenios(arroba)ndsoft.com.ar> wrote in message news:%239ETX6E...@TK2MSFTNGP11.phx.gbl...
0 new messages