Avatar billede sbaht Nybegynder
27. marts 2007 - 13:47 Der er 16 kommentarer og
1 løsning

Hvorfor virker følgende if sætning ikke?

Jeg skal når der vælges en bestemt kategori i en dropdownliste, navigere til en anden side, jeg har forsøgt med følgende kode som ikke virker:

private void DropDownList1_SelectedIndexChanged(object sender, System.EventArgs e)
        {
            if ( DropDownList1.SelectedItem.Value == "valg" )
            {
                Response.Redirect( "valg.aspx" );
            }
Avatar billede torotune Nybegynder
27. marts 2007 - 14:16 #1
Mangler du ikke et "}" til at lukke af med?
Avatar billede sbaht Nybegynder
27. marts 2007 - 14:43 #2
Jo, men det er nu ikke der problemet er, der sker ingenting når jeg vælger den enkelte kategori.
Avatar billede sbaht Nybegynder
27. marts 2007 - 14:44 #3
Indholdet i dropdownlisten er indlæst fra en sql database.
Avatar billede torotune Nybegynder
27. marts 2007 - 14:46 #4
Har du sat AutoPostBack="True" på din dropdownliste?
Avatar billede kalp Novice
27. marts 2007 - 14:50 #5
prøv

if ( ((DropDownList)this.Page.FindControl("DropDownList1")).SelectedItem.Value == "valg" )
Avatar billede kalp Novice
27. marts 2007 - 14:51 #6
eller

if ( ((DropDownList)PreviousPage.FindControl("DropDownList1")).SelectedItem.Value == "valg" )
Avatar billede sbaht Nybegynder
27. marts 2007 - 14:59 #7
Det virker heller ikke, det er lidt mærkeligt det burde være ligetil..
Avatar billede torotune Nybegynder
27. marts 2007 - 15:01 #8
Prøv at sætte AutoEventWireup="true" i din Page Directive..
Avatar billede torotune Nybegynder
27. marts 2007 - 15:05 #9
.. og er du sikker på "valg" ikke er et textField frem for et valueField i din DropDownListe - i så fald skal du anvende SelectedItem.Text
Avatar billede kalp Novice
27. marts 2007 - 15:12 #10
istedet for at skriv .Value så skriv .Text
Avatar billede kalp Novice
27. marts 2007 - 15:14 #11
dvs. med din kode

if ( DropDownList1.SelectedItem.Text == "valg" )

og med mine eksempler altså

if ( ((DropDownList)this.Page.FindControl("DropDownList1")).SelectedItem.Text == "valg" )

if ( ((DropDownList)PreviousPage.FindControl("DropDownList1")).SelectedItem.Text == "valg" )


Det burde løse det.
Avatar billede sbaht Nybegynder
02. april 2007 - 09:32 #12
Kalp: Det virker sq ikke, jeg har forsøgt følgende:

private void DropDownList1_SelectedIndexChanged(object sender, System.EventArgs e)
        {
                if ( DropDownList1.SelectedItem.Text == "Valg" )
                {
                Response.Redirect( "Valg.aspx" );
            }
Avatar billede kalp Novice
02. april 2007 - 09:45 #13
du skriver "Valg" med stort nu.. før skrev du "valg" med småt.. der er forskel
Avatar billede sbaht Nybegynder
02. april 2007 - 10:02 #14
He He, ja det er nu ikke det der er problemet - men tak for oplysningen.. Kan det betyde noget at valgmulighederne i ddl er hentet fra en tabel i en db?
Avatar billede kalp Novice
02. april 2007 - 10:05 #15
hvis du sætter et breakpoint i den metode der så kan du føre musen hen over SelectedItem.Text og se om den er blank:)
Avatar billede sbaht Nybegynder
02. april 2007 - 10:18 #16
Det kan umiddelbart ikke få til at spille.
Jeg viser lige koden hvor jeg henter valgmulighederne fra db til ddl:

private void Page_Load(object sender, System.EventArgs e)
        {
            if (!(IsPostBack))
            {
                string strConnection = "user id=log_Webuser;password=XXXX;";
                strConnection += "initial catalog=log;server= XXXX;";
                strConnection += "Connect Timeout=30";
                string strsql = "Select * From dbo.rum;";
                SqlConnection objConnection  = new SqlConnection(strConnection);
                SqlCommand objCommand = new SqlCommand(strsql,objConnection);
                objConnection.Open();
                DropDownList1.DataSource = objCommand.ExecuteReader(CommandBehavior.CloseConnection);
                DropDownList1.DataTextField = "rum";
                DropDownList1.DataValueField = "rumID";
                DropDownList1.DataBind();
                DropDownList1.Items.Insert(0, new ListItem("Vælg rum", ""));

Måske kan du give et hint om hvordan man ellers lige for sagerne til at virke?
Avatar billede sbaht Nybegynder
10. september 2012 - 12:09 #17
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