Er der nogen, der kan fortælle mig, hvorfor koden kun virker i det tilfælde, hvor jeg manuelt fylder alle data ind i min drop-down menu? Eller bedre, hvad skal jeg gøre for at fange data også fra de tabeller, som er fyldt fra databasen med en array-list?
Her er koden, på forhånd tak for hjælpen. Jeg er kørt fast!
Vh Lars
Code-behind:
Til den første dropdown, som er manuel, er det "bare" tastet ind:
<asp:DropDownList ID="ddl_01_manuel" runat="server"> <asp:ListItem Value="ingenting">Vælg fra liste ...</asp:ListItem> <option value="tlf-bestilling">Telefonbestilling</option> <option value="fax-bestilling">Faxbestilling</option> </asp:DropDownList>
Til den næste dropdown, hvor den 1. linje er manuel, men hvor resten hentes ind fra databasen, ser det sådan ud: <asp:DropDownList ID="ddl_02_kunder" runat="server"> <option value="Vælg fra liste ...">Vælg fra liste...</option> <option value="Kunde 1">Kunde 1</option> <option value="Kunde 2">Kunde 2</option> </asp:DropDownList>
Proceduren i klassen connex_admin, som hedder "udfyld_dropdown", bygger en arraylist eller returnerer en fejl. Det er en generel procedure, jeg bruger den til at fylde flere forskellige dropdowns:
public void udfyld_dropdown(string procedure, string kolonne_navn, out ArrayList rowlist, out bool fejl) {
fejl = false;
connex connex = new connex(); SqlConnection connection = new SqlConnection(connex.connection());
SqlCommand cmd01 = new SqlCommand(procedure, connection); cmd01.CommandType = CommandType.StoredProcedure;
ArrayList rowList_lokal = new ArrayList(); rowList_lokal.Add("Vælg fra liste ...");
while (reader.Read()) { // vi skal sikre os, at det ikke er en null-værdi og at der ER en værdi i feltet string value_db = reader[kolonne_navn].ToString();
Problemet er at du laver en databind igen ... du mangler stadig lidt kode, men jeg går ud fra at du laver din DataBind i din Load ... og der kan det gå galt.
if(!IsPostBack) { // Her skal du lave din databinding, hvis der kommer et GET request, ved postback holder ViewState styr på dine værdier. }
Og det skal ind i din Load event i din CodeBehind.
hahha, ja, det fandt jeg ud af ... omend jeg også så det før dig :-)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.