Avatar billede brian-johansen Nybegynder
07. juli 2006 - 13:10 Der er 7 kommentarer og
1 løsning

Dropdownlist taber sin værdi

Hej,

Jeg sidder med et lille problem i forbindelse med en dropdown liste.

Det er sådan at jeg skal vælge et sprog udfra en dropdown liste. Standard værdien i boksen er Dansk, men hvis jeg så  ændre værdien i boksen til fx. tysk og så trykker opdatere, så laver den det tilbage til dansk igen.

Jeg kan ikke umiddelbart forstå hvorfor den gør sådan.

Her er lidt af koden:

String valg = ""
--------------------------------
// uddrag fra Page load metoden

if (!IsPostBack)
        {
            getMessage(side);
        }
   
        valg = DropDownList1.SelectedValue.ToString();

-------------------------------
// GetMessage metoden

  public void getMessage(String side)
    {
        string valg = DropDownList1.SelectedValue.ToString();
        string sql = "select * from brugere where navn='" + side + "'";
        OleDbDataAdapter myAdapter = new OleDbDataAdapter(sql, myConn);
        DataSet ds = new DataSet();
        myAdapter.Fill(ds, "produkt");
        myConn.Open();
       
        foreach (DataRow dr in ds.Tables[0].Rows)
        {
            FCKeditor1.Value = dr[valg].ToString();
            pic.Value = dr["pic1"].ToString();
        }
        myConn.Close();
    }

Er der nogen der kan komme med et byd på en løsning ??

mvh Brian
Avatar billede snepnet Nybegynder
07. juli 2006 - 13:13 #1
Hvad sker der i din opdateringsmetode?
Mvh
Avatar billede mikkel_sommer Nybegynder
07. juli 2006 - 14:20 #2
Hvis du under din opdatering foretager en postback skulle du måske prøve at gemme den valgte værdi i en viewstate property og så sætte den i din Page_Load...
Avatar billede brian-johansen Nybegynder
08. juli 2006 - 00:15 #3
Snepnet -> hvad mener du med min opdaterings metode, det er den der hedder getMessage som jeg bruger til at hente mit indhold

Mikkel_sommer -> jeg prøver lige

mvh Brian
Avatar billede brian-johansen Nybegynder
08. juli 2006 - 00:50 #4
Jeg ved ikke rigtig om jeg gør det rigtig men det ser umiddelbart ikke ud til at virke med viewstate, for så snart jeg trykker på et link som skal hente noget info frem på samme side, så sætter den stadig SelectedValue tilbage til den første værdi, både i min viewstate og det hele.

mvh Brian
Avatar billede snepnet Nybegynder
08. juli 2006 - 15:22 #5
Ok ... det var fordi havde skrevet "... og så trykker opdatere,..." - det virkede som om du havde noget andet i spil også.

Du må have en art eventhandler også - hvis du har en mulighed for at trykke opdatér på siden eller?

Det ser i det hele taget lidt specielt ud...
Du har en klassevariabel "valg" - du sætter i hver page_load.

Desuden har du en variabel der også hedder "valg" i getMessage-metoden, som du jo så kalder fra page load.

Det vil været naturligt, hvis du gemmer dit sprogvalg i session - og ændrer det hvis brugeren foretaget en opdatering - f.eks. ved valg i listen (som så har autopostback=true) eller ved tryk på en knap.

Bruger du 1.1 eller 2.0? (så har du lidt andre muligheder til rådighed).

Mvh
Avatar billede brian-johansen Nybegynder
08. juli 2006 - 22:27 #6
Jeg bruger 2.0

Det er fordi jeg bruger det i et CMS system, og når jeg trykker på en af den side man vil opdatere, så skal man vælge hvilket sprog den skal bruge.

valg er bare den variable der gemmer mit valg af sprog fx. deTekst

Måden jeg laver en opdatering på er at jeg fx. trykker på en side der hedder profil også tager jeg sides navn ud via en querystring.

Jeg håber dette var svar nok, jeg når nok ikke på nettet før søndag aften eller mandag morgen, så no rush :D

mvh Brian
Avatar billede brian-johansen Nybegynder
10. juli 2006 - 13:05 #7
Fandt en løsning, man kan bare køre metoder når der ændres i dropdownlisten

mvh Brian
Avatar billede brian-johansen Nybegynder
29. juli 2006 - 00:22 #8
lukker
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester