2012-09-10 8 views
5

Avevo un'app di forma su asp.net Ho un bug quando l'utente fa clic su F5 o aggiorna inserirà i dati dall'ultima immissione di dati. Il loro è via per impedire l'invio di dati se l'utente fa clic su F5 o aggiorna?come impedire l'invio di dati se l'utente preme F5 o si aggiorna in asp.net?

+1

@aelnajjar almeno guarda prima qui! http://stackoverflow.com/questions/3759572/avoid-form-re-submit e http://stackoverflow.com/questions/2526568/asp-net-prevent-form-submission-twice questo è stato chiesto così tante volte ! –

risposta

11

È facile reimpostare una pagina allo stato iniziale in ASP.NET reindirizzando a se stessa. Ecco 3 modi per farlo:

  1. Response.Redirect (Request.Path);

In cui il percorso della richiesta viene presentata nella forma seguente: /MyApp/MyFile.aspx

  1. Response.Redirect (Request.RawUrl);

in cui non solo è il percorso esposto, ma anche tutti i parametri querystring come: /MyApp/MyFile.aspx?foo=bar

  1. Response.Redirect (Request.Url.ToString());

in cui non solo è i parametri di percorso e querystring esposti, ma reso disponibile come un riferimento assoluto nella forma: ServerPersonale/MyApp/MyFile.aspx foo = bar

1

Esistono diversi modi per impedire che ciò accada. Il più semplice è quello di Response.Redirect in un'altra pagina, che può essere aggiornata senza conseguenze.

// process form post 
Response.Redirect("anotherpage.aspx"); 
Problemi correlati