Ok (effettivamente rileggendomi forse non sono stato di grande aiuto).
Con il datasource e senza code behind:
oppure nel code behind, dopo la ExecuteReader senza ciclare il result, bindi la DropDown direttamente al result:codice:<asp: DropDownList ID="DDLSuperCat" runat="server" DataSourceID="AccessDataSource1" DataTextField="Codice_Super_Cat" DataValueField="ID_Super_Cat"> </asp: DropDownList> <asp:AccessDataSource ID="DSSuperCat" runat="server" DataFile="~/App_Data/database.mdb" SelectCommand="SELECT * FROM TabSuperCategoria ORDER BY NOME asc"> </asp:AccessDataSource>
oppure come stavi facendo tu, ma dovresti riempire una dictionary invece di un arrayList e fare come sopra solo che al posto di codice e id vanno messi "Value" e "Key".codice:DropDownList1.DataSource = aReader5; DropDownList1.DataTextField = "Codice_Super_Cat"; DropDownList1.DataValueField = "ID_Super_Cat"; DropDownList1.DataBind();
Il primo metodo, quello con accessDatasource, è piu semplice e lo puoi fare in modo visuale senza scrivere il codice, direttamente dall'ide di VS.
Lo svantaggio è che se inizi ad avere la necessità di fare cose un po piu articolate (insert, delete, filtri, master detail) la pagina asp.net ti si imputtana di controlparameter, query sql ecc.

Rispondi quotando