Recuperare valori da drop dinamici

lunedì 04 giugno 2007 - 12.42

Thorin Profilo | Newbie

Ciao a tutti ho un probelma :)

se io creo degli elementi in runtime , esempio :

for i as interger = 1 to 4
dim drop As New DropDownList
drop.id = i
controls.add(drop)
next

Come posso recupeare il valore selezionato dalle dropdownlist quando clicco un bottone ??? :(

0v3rCl0ck Profilo | Guru

Ciao,

aggiungi la funzione per gestire l'evento SelectedIndexChange:

Protected Sub ddl_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Dim ddlTest As DropDownList = CType(sender, DropDownList) Dim SelectedIndex As Integer = ddlTest.SelectedIndex End Sub

poi attacca la funzione all'evento dell'oggetto inserito a runtime con l'AddHandler:

For i As Integer = 1 To 4 Dim ddlTest As New DropDownList ddlTest.id = i.ToString() AddHandler ddlTest.SelectedIndexChanged, AddressOf ddl_SelectedIndexChanged controls.add(ddlTest) Next


Enjoy It
http://blogs.dotnethell.it/Regulator/

Thorin Profilo | Newbie

quando clicco il button i controlli mi spariscono quindi l'evento indexchange nn avviene :(

0v3rCl0ck Profilo | Guru

Il problema è che quando la pagina si aggiorna non sa più che quei controlli esistono e quindi andrebbero ricreati nell'OnLoad della pagina. Io tempo fa per risolvere il problema in poco tempo, avevo usato un controllo asp:repeater invece che un ciclo, così ti tiene automaticamente in viewstate le dropdownlist.

una cosa del genere:

<asp:repeater id="rptTest" runat="server"> <asp:dropdownlist SelectedIndexChange="ddl_SelectedIndexChange" DataSource="...." /> </asp:repeater>

mentre per la soluzione sull'OnLoad puoi dare una sbirciata qua:
http://dotnetjunkies.com/WebLog/leon/archive/2004/08/28/23559.aspx

http://blogs.dotnethell.it/Regulator/
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5