10 messaggi dal 02 marzo 2010
Salve raga ho fatto una mia prima interfaccia che inserisce i dati di un forum
in un ArrayList in sessione.

La procedura funziona correttamente raccoglie i dati e li memorizza nell array con un semplice .add(oggetto), il mio problema lo riscontro quando clicco il pulsante invio di tipo <asp:Button
in maniera consecutiva e veloce. In questo caso il forum da me creato
memorizza più di una volta il record che voglio salvare (antirimbalzi), senza aspettare che termini l'esecuzione del primo click.

Non so come limitare possibili click ripetuti e veloci sul pulsante in maniera semplice ed elegante .

Tutto questo da come si puo capire mi crea molti grattacapi a livelo di cosistenza di dati ...
Modificato da Francescooo il 27 aprile 2017 09.58 -
Modificato da Francescooo il 27 aprile 2017 09.59 -
Modificato da Francescooo il 27 aprile 2017 09.59 -
Modificato da Francescooo il 27 aprile 2017 10.00 -
Modificato da Francescooo il 27 aprile 2017 10.03 -


Per ora l'unica soluzione trovata è questo codice, ma non penso sia elegante, sicuramente ci sarà qualche opzione in asp da settare, che mi puo evitare questo grattacapo. Questo per ora è il codice da me scrito che mi evita questo problema :


    if (Session["FlagAntirimbalzo"] == null  || ((String)Session["FlagAntirimbalzo"]).ToString().Equals("0"))
        {
            Session["FlagAntirimbalzo"] ="1";

            //Qui inserisco il codice che memorizza nell ArrayLIst ..

            Thread.Sleep(500);
            Session["FlagAntirimbalzo"] = "0";
        }      



Uso un flag in sessione "FlagAntirimbalzo", questo flag viene controllato con un if non appena si entra nel metodo che gestisce l'evento click di "invioBottom". Il flag se = "0" fa eseguire la rutine altrimenti se = "1" ignora tutto. Inoltre al termine della routine prima di settare il flag a 0 inserisco uno slep di mezzo secondo, in questo modo tutti gli eventi che avvengono dopo il primo click nell'arco di 1/2 secondo (antirimbalzi) vengono scartati.

Esiste una soluzione più elegante per ottenere lo stesso risultato ?
Modificato da Francescooo il 27 aprile 2017 10.46 -
Modificato da Francescooo il 27 aprile 2017 10.47 -
Modificato da Francescooo il 27 aprile 2017 10.49 -
Modificato da Francescooo il 27 aprile 2017 10.50 -
Modificato da Francescooo il 27 aprile 2017 10.51 -
Modificato da Francescooo il 27 aprile 2017 10.52 -
Modificato da Francescooo il 27 aprile 2017 10.55 -
Modificato da Francescooo il 27 aprile 2017 10.58 -
Modificato da Francescooo il 27 aprile 2017 10.59 -
Modificato da Francescooo il 27 aprile 2017 11.01 -
Modificato da Francescooo il 27 aprile 2017 11.01 -
Modificato da Francescooo il 27 aprile 2017 11.10 -
43 messaggi dal 30 gennaio 2016
Ciao Francesco,
al primo click, dopo aver validato i dati di input, dovresti pulire i campi e a quel punto dovresti essere in grado di capire se è il caso di mandare la richiesta al server oppure intervenire in lato client.
Ciao

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.