10 messaggi dal 28 febbraio 2008
In pratica mi serve una messagebox che quando si clicca sul button1 ok presente nella pagina avverta se non è stata selezionata alcuna riga dalla gridview(e quindi nn permetta di andare alla pagina collegata) o chieda conferma della scelta nel caso sia stata effettuata.

Nella mia pagina ho una gridview nella quale ho attivato la funzione seleziona, quindi è presente il campo seleziona.
Nella pagina è presente anche un button"ok"
Premendo ok si fa il postbackurl verso un'altra pagina.
Inoltre ho associato al button"ok" l'extender di ajax ConfirmButtonExtender

In Protected Sub GridView1_RowCommand della gridview verifico che venga selezionata una riga( e il valore di unn particolare cella la memorizzo in una label)

A questo punto in "Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)"

controllo il valore della label , se è ="" allora imposto le proprieta
ConfirmButtonExtender1.Enabled = True
ConfirmButtonExtender1.ConfirmText = "Selezionare una riga"

If lblMia.Text = "" Then
      ConfirmButtonExtender1.Enabled = True
      ConfirmButtonExtender1.ConfirmText = "Selezionare una riga"
           
Else
            ConfirmButtonExtender1.Enabled = True
            ConfirmButtonExtender1.ConfirmText = "Sei sicuro della tua scelta?"
            Button1.PostBackUrl = "~pagina2.aspx"
        End If


Infine ho impostato l'evento load (in button1) con valore Button1_Click.
(questo fa si che la prima volta che premo il button1 ok e non ho selezionato alcuna riga appaia l'avviso della msgbox)
(senza, l'avviso appare al secondo click del button ok presente nella pagina)

Alla fine, bene o male tutto funziona, anche se con un passaggio in piu' che vorrei eliminare ,ma nn so ancora come :(

In pratica se apro la pagina con la gridview e premo il button1 "ok" senza aver selezionato alcuna riga , appare la msgbox "Selezionare una riga" Premo l'ok della msbox e rimango giustamente in quetsa pagina(nn viene eseguito il crosspagepostback).

Passaggio in piu': Ora se seleziono una riga e premo il button1 "ok" nella pagina mi appare nuovamente la msbox con "Selezionare una riga", confermo sulla msbox,

premo nuovamente il button1 ok della pagina e ora appare la messagebox "Sei sicuro della tua scelta?" scelgo ok sulla msgbox a viene eseguito Button1.PostBackUrl = "~pagina2.aspx.

Spero possiate aiutarmi a eliminare quello che io ho indicato come "passaggio in piu'"

Ringrazio anticipatamente per qualsiasi risposta.


Modificato da Eracle il 06 maggio 2008 11.30 -
Modificato da Eracle il 06 maggio 2008 11.33 -
Eracle wrote:
Spero possiate aiutarmi a eliminare quello che io ho indicato come "passaggio in piu'"

devi usare Javascript o, in alternativa, un UpdatePanel, perchè altrimenti non puoi saltare questo passaggio intermedio, visto che lavori con gli eventi del server.

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
10 messaggi dal 28 febbraio 2008
Grazie della risposta.
Alla fine ho usato una classe per le messageBox.
Una chiamata l'ho utilizzata nell'evento click del button1.
Nel ROW_command della griglia ho invece inserito lo statement per il crosspagepostback verso la pagina desiderata.
Cosi funziona e soprattutto ha una sequenza visiva logica.

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.