24. maj 2007 - 14:11Der er
6 kommentarer og 1 løsning
Rebinding af dropdownlist efter delete command?
Jeg har en side, med nogle kontroller, heriblandt en dropdownlist, som alle bliver sat med nogle værdier fra databasenn. Jeg har så en button, som når man trykker på den, så fyrer den en DELETE FROM table WHRERE ID = Convert.ToInt32(DropDownList.SelectedValue) Det virker også fint.
Og eventet på min butto, hvor min delete bliver kaldt, så har jeg også en DropDownList.DataBind(), som burde opdatere listen i min DropDownList, hvor der er så er 1 mindre end der var før, men det virker ikke ? Hvad er det lige der sker, det virker på fx. mine gridviews osv.
Svært at sige umiddelbart uden at se koden, men her er et gæt: Du har ikke tilfældigvis sat DropDownList.AppendDataBoundItems = True på et tidspunkt ? F.eks. for at tilføje et "Vælg noget i denne liste bla bla" som første item og lade data fra Db'en følge? Så akkumulerer den blot alle værdierne, medmindre man lige clearer dens listitems hver gang, og det kan til tider virke ret forvirrende.
Jeg sætter dens datasource, datatextfield og datavaluefield i onLoad eventet og i onload har jeg så en if (!ispostback) hvor jeg hiver mine værdier ud fra databasen og sætter dem til de respektive kontroller og så kalder jeg en dropdownlist.databind() der.
Og så har jeg så mit button event, hvor jeg kalder delete metoden på min dropdownliste og derefter dropdownlist.databind()
For di jeg sætter min datasource osv i onLoad og så kun kalder .DataBind() de respektive steder. Kan godt være onLoad blive jo ikke kald på mit postback event. Så har bare en metode nu der hedder SetDropDownList() hvor jeg sætter min datasource, text, value og så .DataBind() tilsidst og så kalder jeg den metode de repsektive steder, så får den en ny liste ind hver gang, som er up to date :)
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.