All'interno delle pagine di inserimento dati sarebbe buona cosa implementare un sistema che cerchi di individuare i tentativi di inserimento multipli da parte di un utente, ad esempio attraverso il refresh della pagina.
Un comodo sistema consiste nello sfruttare a dovere gli eventi della pagina, in modo che venga scritto un cookie al primo inserimento ed utilizzato successivamente per effettuare un controllo.
<SCRIPT RUNAT="SERVER" LANGUAGE="C#"> string cookiename; void Page_Init() { // imposto il nome del cookie cookiename = "refreshed_" + Server.UrlEncode(Request.Url.PathAndQuery); } void Page_PreRender() { if (Page.IsPostBack) { // segno che è stato inserito Response.Cookies[cookiename].Value = "true"; } else { // svuoto il cookie se sono di nuovo sulla form di inserimento Response.Cookies[cookiename].Value = "false"; } } void insertNewRecord (Object o, EventArgs e) { if (Request.Cookies[cookiename] != null && Convert.ToBoolean(Request.Cookies[cookiename].Value)) result.Text = "Già inserito"; else { // codice che inserisce il nuovo record result.Text = "Inserito con successo!"; } } </SCRIPT> <form runat="server"> <asp:button runat="server" onClick="insertNewRecord" Text="Inserisci!" /> <asp:literal id="result" runat="server" /> </form>
Questa modifica può anche essere fatta sfruttando una classe Page di base, da cui poi far ereditare le pagine della nostra applicazione che hanno bisogno di questa protezione.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
I più letti di oggi
- Beta 1 di VS 2005 Enterprise Architect
- Point-in-time restore con gli Azure Storage Blob
- Focus dei tag input con HTML5
- Il nuovo tag nav in HTML5
- Evitare la modalità di risparmio energetico in una Windows Store app
- Real Code Day 4.0: costruire applicazioni reali - Firenze
- AI&ML Conference 2019 - Milano
- Mono 0.12: verso una nuova implementazione di ASP.NET