Risultati da 1 a 6 di 6

Discussione: Evitare doppio click nelle pagine

  1. #1
    riminese77 è offline Utente del Forum
    Data Registrazione
    Mar 2010
    Messaggi
    15

    Evitare doppio click nelle pagine

    Ciao a tutti, ho un problema "logico", ho un datagrid in una pagina asp.net, che al click del link "seleziona", fa una serie di calcoli .

    Codice:
     Protected Sub GRID_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)
            Try
                Dim riga As GridViewRow = GRID.SelectedRow()
                Dim index As Integer = riga.RowIndex()
               Lista = Session("Lista")
                Dim G As New RECORDLISTA
                G.Id = riga
                Lista.Add(G)
                GTrasf.DataSource = Lista
                GTrasf.DataBind()
    ECC ECC        ....
            Catch ex As Exception
                MsgBox(ex.ToString)
            End Try
        End Sub
    Ora il mio problema è questo una volta premuto il link della griglia, ci vogliono un paio di secondi per fare tutte le operazioni, metto un messaggio di attesa sotto (non riesco a farlo visibile e disabilitare così l'utente), quindi capita che l'utente impaziente schiaccia un altro link magari quello sotto, così il programma alcune volte continua altre volte reinizia e non porta tutto a termine.
    Ora chiedo c'è un modo per disabilitare all'utente la pagina in modo che non faccia casini?
    Grazie... ho provato con flag, ecc ecc ma non c'è verso.
    Ultima modifica di borgo italia; 19-06-2012 alle 17:41

  2. #2
    Vins è offline Moderatore
    Data Registrazione
    Jul 2009
    Messaggi
    137
    Ciao,

    più che disabilitare la pagina secondo me dovresti creare una routine che al click del link

    verifichi se ci sono elaborazioni in corso e in caso affermativo non permetta di avviare le

    stesse nuovamente.

  3. #3
    riminese77 è offline Utente del Forum
    Data Registrazione
    Mar 2010
    Messaggi
    15

    Ciao

    Grazie della risposta, tu intendi un thread?Non so bene come funzionino, avevo pensato anche io tipo if Thread(mio).attivo then exit sub .
    Per ora ho ovviato alla cosa con il progressbar di Ajax mettendolo come tempo a 10 e lunghezza e altezza tutta la pagina, anche se non è la soluzione più elegante

  4. #4
    Vins è offline Moderatore
    Data Registrazione
    Jul 2009
    Messaggi
    137
    Si, questa potrebbe essere una soluzione ma io pensavo a qualcosa di più semplice

    come una variabile booleana che viene impostata a false all'inizio dell'elaborazione e a

    true alla fine. In questo modo se si prova a riavviare l'elaborazione basta controllare il

    valore di tale variabile.

  5. #5
    riminese77 è offline Utente del Forum
    Data Registrazione
    Mar 2010
    Messaggi
    15

    ciao

    ho provato con una variabile e con un campo nascosto, ma nella pagina ascx tali valori non li guarda, mi va sempre avanti mah!
    Cmq si ho messo la progress bar che copre tutto lo schermo a tempo 50 così non si può ricliccare un'altra volta, solizione non bellissima ma efficace .
    Alla prox

  6. #6
    easySPOT è offline Nuovo Iscritto
    Data Registrazione
    Jun 2012
    Messaggi
    7
    prova ad integrare una finestra modale con jquery-ui, segui questo tutorial "http://jqueryui.com/demos/dialog/#modal-message" in questo modo l'utente ha dinanzi a se il messaggio d'attesa ed è impossibilitato ad interagire con il resto della pagina.

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •