28 messaggi dal 25 febbraio 2006
Salve,

ho creato una pagina asp.net strutturata con un multiview. Nella prima view c'è un bottone (server) al cui click vengono mostrati dei dati estratti dal db. Oltre i dati trovati nel db viene mostrato nella pagina un bottone aggiuntivo (server) il cui click consente il salvataggio di alcuni dati nel db e se l'operazione va a buon fine, mostra, sempre nella stessa pagina, il contenuto del secondo view.

Ora se faccio aggiorna, nel momento in cui nel browser mi è stato renderizzato il contenuto del secondo view, viene rieseguito l'insert sul db.

Da quel poco che ho letto in rete, questo comportamento è corretto. Il mio problema consiste nel distinguere tra il postback per il salvataggio dei dati ed il postback generato dalla richiesta di refresh.

La soluzione migliore è attraverso la gestione della cache di ASP.NET ? nel caso qual'è l'impostazione + corretta ? vi sono tecniche e/o metodi alternativi ?

Grazie
Esistono diverse soluzioni a questo tipo di problema, ad esempio quella di realizzare un HttpModule che verifichi che non avvengano due post identiche a breve distanza; in alternativa, una soluzione banale è quella di effettuare un Response.Redirect dopo la insert verso la stessa pagina, magari con un parametro in querystring che attivi la visualizzazione della seconda view del multiview.

A presto,
m.
Modificato da Cradle il 23 luglio 2009 14.29 -
213 messaggi dal 25 settembre 2006
potresti utilizzare la chiave della tabella per vedere se il record è già inserito

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.