3 messaggi dal 29 aprile 2014
Salve, sono nuovo del forum.
Ho un problema con una applicazione web realizzata in asp.net mvc 5.
Vorrei non visualizzare, premendo il bottone indietro del browser, le pagine di modifica ed inserimento dei dati. Pensate per esempio ad un form di modifica dell'anagrafica di un utente. Effettuate le modifiche e salvato, viene fatto un redirect su una pagina di visualizzazione dei dati. Premendo il bottone indietro del browser vengo catapultato di nuovo sulla pagina di modifica. Come posso fare a risolvere questo problemino fastidioso?
Non so se mi sono spiegato, grazie per gli eventuali aiuti...
11.885 messaggi dal 09 febbraio 2002
Contributi
Ciao e benvenuto nel forum!
Il browser crea automaticamente delle voci nella history di navigazione ogni qualvolta l'utente clicca un link o invia de dati con un form.
Anche nel tuo caso, quando l'utente visita la pagina di modifica, si crea una voce all'interno della su history a cui potrà tornare successivamente.

Esiste però il metodo javascript location.replace che ti permette di rimpiazzare la voce corrente con un'altra, in modo che l'utente non possa poi tornarvi in un secondo momento.
Quindi, l'idea è quella di navigare verso la pagina visualizzazione dei dati usando il metodo location.replace, in modo che il suo URL rimpiazzi quello della pagina di modifica nella history di navigazione.

Se vuoi usare questa soluzione, allora dovrai rinunciare ad inviare i dati via form come stai facendo adesso. Potresti inviarli via ajax (usando per esempio l'helper MVC Ajax.BeginForm) e, quando il server risponde, eseguire il metodo javascript:
location.replace("/nometuocontroller/visualizzazione");

Se avevi usato l'helper Ajax.BeginForm, puoi eseguire questa istruzione javascript da una tua funzione il cui nome dovrai indicare su OnSuccess delle AjaxOptions. Qui trovi un tutorial.
http://www.blackbeltcoder.com/Articles/script/using-ajax-beginform-with-asp-net-mvc

Se nel tuo form hai previsto degli upload di file, la situazione si complica.

ciao,
Moreno

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.