Ok (effettivamente rileggendomi forse non sono stato di grande aiuto).
Con il datasource e senza code behind:
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 nel code behind, dopo la ExecuteReader senza ciclare il result, bindi la DropDown direttamente al result:
codice:
DropDownList1.DataSource = aReader5;
DropDownList1.DataTextField = "Codice_Super_Cat";
DropDownList1.DataValueField = "ID_Super_Cat";
DropDownList1.DataBind();
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".
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.