Veröffentlicht 8. November 201113 j Servus, ich habe 5 DropDownLists. Wenn in der ersten etwas angewählt wird (IndexChanged) wird in der 2ten dynamisch der Inhalt bestimmt und geladen. Das soll sich so durchziehen bis alle gefüllt sind. Funktioniert auch soweit bei der ersten. Ich wähl was aus und in die 2te wird etwas geladen. Wenn ich nun aber in der 2ten etwas auswähle, wird das Event der ersten ausgelöst, die erste DropDownList bleibt wie sie ist, aber der Index der 2ten wird auf den ersten Eintrag zurückgesetzt. Wisst ihr was man da machen kann?
8. November 201113 j Ohne Code, nichts los. Zeig uns deinen Code, sonst kann man dir nicht zielgerecht helfen
8. November 201113 j Autor Das ist erstmal der Code für die erste DropDownList, die die zweite DropDownList füllt protected override void CreateChildControls() { base.CreateChildControls(); mDropTyp.SelectedIndexChanged += new EventHandler(mDropTyp_SelectedIndexChanged); Sql lSql = new Sql(); List<Spieltyp> llTyp = lSql.AlleSpieltypDaten(); mDropTyp.Items.Clear(); ListItem lItem2 = new ListItem(); lItem2.Text = ""; lItem2.Value = "-1"; mDropTyp.Items.Add(lItem2); foreach (Spieltyp lTyp in llTyp) { ListItem lItem = new ListItem(); lItem.Text = lTyp.Titel; lItem.Value = lTyp.ID; mDropTyp.Items.Add(lItem); } } void mDropTyp_SelectedIndexChanged(object sender, EventArgs e) { if (mDropKategorie.SelectedValue == "-1") { Sql lSql = new Sql(); List<Kategorie> llKategorie = lSql.KategorieDatenTypID(mDropTyp.SelectedValue.ToString()); mDropKategorie.Items.Clear(); mRowKategorie.Visible = true; foreach (Kategorie lKategorie in llKategorie) { ListItem lItem = new ListItem(); lItem.Text = lKategorie.Titel; lItem.Value = lKategorie.ID; mDropKategorie.Items.Add(lItem); } } } Code-Tags hinzugefügt, grueni Bearbeitet 9. November 201113 j von grueni
11. November 201113 j wo wird mDropKategorie der Eventhandler hinzugefügt? ich gehe einfach mal davon aus, dass du versehentlich beiden Steuerelementen den gleichen Eventhandler hinzugefügt hast
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.