04. december 2005 - 14:57Der er
8 kommentarer og 1 løsning
dynamisk knap med tilhørende event virker ikke??
Jeg har en knap som bliver lavet når jeg loader min webform og jeg laver en event til denne. når man trykker på knappen køres eventen. Eventen opretter en anden knap og på samme måde som den første knap laves der en event. mit problem er at denne nye event aldrig køres når der trykkes på knappen. Hvorfor??? De to knapper er lavet på samme måde men kaldes jo bare forskelligt. den ene fra pageload og den anden fra eventen. er det virkelig det der gør forskellen og hvad kan jeg gøre ved det?
Problemet er nok at du laver den anden knap med den første event. Start med at lave begge knapper, og gør kun den ene visible - Button2.Visible=false; når den første button click event afvikles skal du så gøre Button2 synlig. I OnClick eventen herefter laver du en metode til at udføre kode når knap 2 afvikles f.eks: <script ...> public void enellerandenmetode(object sender, eventargs e) { //kode der skal udføres når der klikkes på knappen } </script>
Dit problem er følgende. Når du åbner din side, vil klassen af din webpage blive genereret, og alle controls og indstillinger du har lavet, vil blive loadet og tegnet. Fordi du har lavet en knap(1) samt event(1), der bliver oprettet i page load, laves den lige efter alle de andre indstillinger er gennemført.
Når du trykker på din knap, vil page load blive kørt FØR din event(1). Fordi du oprettet knappen i page load, når siden at tegne og oprette knappen(1) og alle dine indstillinger, før den skal kalde det tilhørende event. Derfor virker event(1) som planlagt, og oprettet knap(2) samt tilskriver event (2) til den.
Nu har du fået tegnet knap(2), og kan se den på siden. Når du så klikker på knap(2), vil page load igen blive kørt som det første. Denne gang tegner den også knap (1), og alle dens indstillinger. Nu burde den køre dit event(2), men siden ikke kender til din knap(2). Dette er fordi den ikke er blevet tegnet igen, inden den skal behandle dit event, og derfor kan den ikke udføre dit event(2), og faktisk burde din knap(2) efter du har trykket på den, forsvinde fra din side.
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.