1 messaggio dal 23 novembre 2017
Ciao a tutti,
ho un problema che mi assilla da tempo e per cui sono fermo.
Premesso che ho cercato la soluzione praticamente ovunque, ma senza fortuna.

Il problema è il seguente:
su una pagina Aspx, nell'evento Page_Load, faccio creare tante DropDownList quante ne richiede l'utente su una casella di testo (Count=txtControlsCount.text), con il seguente codice:
for (int i = 1; i <= Count; i++)
{
DropDownList ddl = new DropDownList();
ddl.ID = "ddl" + i.ToString();
ddl.Text = ddl.ID.ToString();
ddl.DataSource = HomeData.getListaCodice(CodiceTicket);
ddl.DataValueField = "Codice";
ddl.DataTextField = "Codice";
ddl.DataBind();
ddl.Items.Insert(0, new ListItem(string.Empty, string.Empty));
pnlDropDown.Controls.Add(ddl);
}
E fin qui tutto OK, crea le dropdown e le posso utilizzare, ma al momento di dover passare i dati selezionati, non capisco come poter ricavare i valori selezionati delle ddl create (dovrebbero avere tutte ID ddlCodice1, ddlCodice2, ecc), perché a runtime non le conosce e quindi non posso lavorarle.

Il codice che sto utilizzando per recuperarle è il seguente:
if (pnlDropDown.HasControls())
{
List<DropDownList> listaDropDown = pnlDropDown.Controls.OfType<DropDownList>().ToList();
foreach (DropDownList child in listaDropDown)
{
Label1.Text = Label1.Text + " - " + child.Text;

}
}
Ma non entra nemmeno nel ciclo, e, infatti la variabile listDropDown ha count=0.

Come posso fare?
10.805 messaggi dal 09 febbraio 2002
Contributi

Enjoy learning and just keep making

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.