6 messaggi dal 02 ottobre 2001
salve,
devo generare dinamicamente una serie di bottoni come faccio ad assegnare un evento a ciascuno di essi? ad esempio on_click?

esempio
.....
Protected WithEvents bottone As System.Web.UI.WebControls.Button
for i = 0 to 10
.....
bottone = New System.Web.UI.WebControls.Button()
bottone.Text = "ok"
bottone.ID = "bt" & i
bottone.CommandName = "bt" & i
bottone......'assegnazione evento onClick....
next
.......


Grazie anticipatamente
Non puoi dichiare il membro withevents come stai facendo, devi usare AddHandler

for i = 0 to 10 
..... 
bottone = New System.Web.UI.WebControls.Button() 
bottone.Text = "ok" 
AddHandler bottone.Click, addressof tuafunzione
bottone.ID = "bt" & i 
bottone.CommandName = "bt" & i 
bottone......'assegnazione evento onClick.... 
next 

Ciao

Il mio blog
Homepage
6 messaggi dal 02 ottobre 2001
Grazie per la risposta,
ho provando ad eseguire le modifiche ma cliccando sui bottoni generati non viene richiamata la funzione prova_Click.
Dove sbaglio?

Grazie anticipatamente

....
Dim bottone As Button

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

End Sub

Private Sub prova_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Response.write ("Ok cliccato")
End Sub

Private Sub creaBottoni()
For i = 0 To 10
bottone = New Button()
bottone.Text = "ciao"
bottone.ID = "bt" & i
bottone.CommandName = "bt" & i
bottone.CausesValidation = False
AddHandler bottone.Click, AddressOf prova_Click
next
End Sub
6 messaggi dal 02 ottobre 2001
...la chiamo così:

Private Sub genera_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles genera.Click
....
....
creaBottoni()
End Sub


P.S. complimenti per la chiarezza dei tuoi articoli :-)
I controlli vanno ricreati ad ogni post-back, o in fase di init o di load. Quando premi sul pulsante genera sì i controlli ma imposta anche un flag in modo che quando premi su un pulsante e parte il postback, te nel load, guardi quel flag e richiami o meno la procedura che genera i controlli. Se non lo fai, lui non trova il controllo che ha scatenato il postback ed inoltre non viene aggiunto il gestore dell'evento


P.S. complimenti per la chiarezza dei tuoi articoli :-)


Grassie

Ciao

Il mio blog
Homepage

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.