Ottenere l'id di un controllo creato a runtime

martedì 01 aprile 2008 - 17.39

kontax Profilo | Junior Member

Ciao a tutti,
una domanda..
Ho una serie di controlli creati a runtime con C# (sono dei RadioButton)..il mio problema è che non so come reperire l'id di un controllo quando questo mi richiama una funzione..
Cioè, tutti questi bottocini sono legati alla stessa funzione e per capire quale è stato cliccato dall'utente mi serve il suo id, ma non so come ricavarmelo, anche se mi immagino c'entri qualcosa il sender..
Scusate le domande ma sono molto newbie...
Grazie e ancora ciao!

UPDATE
Sono arrivato alla conclusione che quello che devo scrivere è string Nome = ((RadioButton)sender).ID;
Però mi da "System.Web.UI.WebControls.Button" e non è quello che mi serve..


Cmq questo non mi risolverebbe il problema...infatti avrei il nome nella stringa, ma non potrei usarlo per dichiarare cose tipo
Iddelcontrollo.Text=...Suggerimenti?

rossimarko Profilo | Guru

Ciao,

il sender è l'oggetto che ha scatenato l'evento.

Quindi se ad esempio hai definito più radioButton che sfruttano tutti la stessa funzione:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra


basterà convertire all'interno della funzione il sender nell'oggetto desiderato:

protected void RadioButton_ChechedChanged(object sender, EventArgs e) { RadioButton ctrl = sender as RadioButton; if (ctrl != null) ctrl.Text = "Selezionato"; }

e poi potrai utilizzarlo tranquillamente.

-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko

kontax Profilo | Junior Member

okk grazie della risposta, ho risolto il problema senza prendere l'id del bottone per fortuna!
ciaoo
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-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5