Avatar billede magudb Nybegynder
14. maj 2004 - 14:26 Der er 5 kommentarer

dynamisk generation af knapper? et lille problem

her er koden, problemet er at den ikke afvikler eventhandleren ved brug af kanppen er der nogen som kan gennemskue den?

private void gallery_Click(object sender, System.EventArgs e)
        {           
            Style style = new Style();
            style.Height = 33;
            style.Width = 106;
            style.BorderStyle = BorderStyle.Dashed;
            //style.BackColor= Color.DarkKhaki;
            style.BorderColor = Color.RoyalBlue;
            string PathVar= "C:/Inetpub/wwwroot/magudb2/gallery";
            dir = Directory.GetDirectories(PathVar, "*");
            for(int i = 0; i<dir.Length;i++)
            {
                Button b = new Button();
                b.Click += new System.EventHandler(this.ClickHandler);
                b.ApplyStyle(style);               
                b.Text = "Gallery "+i;
                b.ID = dir[i];                   
                Panel2.Controls.Add(b);
               
            }   
           
        }
        public void ClickHandler(Object sender, System.EventArgs e)
        {
            TextBox1.Text = "hallo";
            TextBox1.Text = ((Button) sender).ID;
            Control c1 = LoadControl("imageBrowser.ascx");
            ((imageBrowser)c1).position =((Button)sender).ID;
            Panel1.Controls.Add(c1);   
           
               
        }
Avatar billede prh Nybegynder
21. maj 2004 - 23:04 #1
Det bliver et hurtigt skud, sidder og arbejder med dynamisk instantiering af kontroller baseret på XML data på mit arbejde i øjeblikket, så er sandsynligvis det lidt det samme her...

Når du i din click genererer knappen bliver den vist korrekt på siden, men når du postback'er til din side eksisterer denne knap ikke mere, og der ved heller ikke den click event handler reference du satte....

Mit foreslag til dig er at lave knappen præcis som hvilken som helst anden knap, men sætte default værdien af visible property'en til false, hvis visible property'en er false vil den ikke bliver renderet...

I din gallery_Click sætter du så bare myNewButton.Visible = true (eller hvad du nu vælger at kalde den)...

Du kan så enten vælge at gøre den Visible = false igen dens egen clickhandler eller lade være, smag og behag...

Håber dette bringer dig på rette kurs :)

Mvh Svøllen
Avatar billede burningice Nybegynder
24. maj 2004 - 12:13 #2
prh>> lidt svært at lave knappen på forhånd, når man ikke ved hvor mange der skal være (kig på hans for-løkke).

Du har dog lidt fat i det rigtige. Teknikken hedder event-relay... prøv at søg på "event relay asp.net" på google
Avatar billede magudb Nybegynder
14. juni 2004 - 20:55 #3
det er sådan at min Click ikke fungere desværre
Avatar billede burningice Nybegynder
22. juni 2004 - 15:46 #4
ala det her?
Avatar billede burningice Nybegynder
22. juni 2004 - 15:46 #5
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