07. april 2008 - 13:11Der er
22 kommentarer og 1 løsning
kører C# kode, EFTER siden er færdig loaded
Hej eksperter..
jeg har en side som på ASPX siden loader nogle info fra en mssql, som bliver lagt ind i en dropdownlist.
og så har jeg min .cs side som loader nogle info fra db som den ligger ind i nogle tekst boxe, men den skal også vælge hvilken dropdown value der skal være valgt.
men når jeg kalder ex DropDownList_Main.SelectedValue = str_Main;
så laver den en fejl, som jeg går udfra kommer fordi at værdien ikke findes i dropdown listen, og det gør den ikke fordi at min sqldatasource ikke har lagt sine info ind i dropdown menuen..
så hvordan kan jeg få min funktion på .cs siden til først at kører når jeg ved at hele siden er loaded..??
du skal også lige overveje hvor i side cyklus dine kontroller bliver initialiseret med data og hvornår den værdi du har som skal være selected bliver sat...
når du debugger din kode hvilken værdi har de dropdownx strenge så? det var det jeg spurgte om, ikke hvad selected item var... hvis ikke de har en fornuftig værdig, kan de jo ikke bruges til at selecte noget
prøv også at finde den kode der initialiserer dine kontroller (initializecomponent?)..
du skrev 07/04 20:28:18 at de ingen værdier har, vil du verificere om du har fundet en konkret værdi for de 2 variable, når du kører programmet med breakpoints, eller ej?
dropdownlisterne har ingen værdier eller items om man vil, og ved denne kode string dropdown1 = (string)sqlREAD["Main_Cat1"]; der får min dropdown1 den ønskede værdi, men ved kørsel af denne DropDownList1.SelectedItem.Text = dropdown1; får jeg fejlen 'DropDownList1' har en SelectedValue, der er ugyldig, da den ikke findes på elementlisten.
jeg har kørt den med breakpoints og i debug mange gange.. og det er jo mere eller mindre det samme jeg skriver hver gang..
men fejlen er (som jeg hele tiden har sagt) at mine dropdowns ikke er initialiseret med deres databounds, og jeg derfor ikke kan sætte den ønskede værdi,
og det jeg søger er en måde at være sikker på at de er initialiseret, før jeg kører denne stump kode..
og har prøvet din post fra 07/04-2008 19:33:49 men den vil ikke bruge nogle af de andre værdier som jeg skriver 07/04-2008 20:28:18
synes ikke det plejer at være så besværligt :o/ men jeg skal nok grunde lidt over det... jeg ville bare være sikker på at du ikke havde andre, mere banale, issues samtidig
jamen jeg overvejer lidt bare at lave det hele i .cs koden, så har jeg da styr på hvornår at tingene bliver initialiseret, og så slipper man da for mere bøvl.. :)
men smid et svar, så får du lidt point for dit besvær.
Et lille tip. hvis "Main_Cat1" i databasen indeholder null (altså ingenting) så vil (string)sqlREAD["Main_Cat1"] give en fejl (DBNull kan ikke castes til en string) men sqlREAD["Main_Cat1"].ToString(); vil give en tom string, ""
vil du ha' nogle point..? det fortjener du jo :) tak for hjælpen
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.