Avatar billede agerled Nybegynder
22. november 2006 - 11:58 Der er 7 kommentarer

ajax updatepanel trigger

Hej

Jeg prøver at tilføje nogle triggers dynamisk:

For Each drImg In ImageAdapter.GetImagebyProductID(ProductID).Rows

                Dim img As New System.Web.UI.WebControls.ImageButton
                img.ID = "SmallPic_" & drImg.imageid
                img.ImageUrl = "~/showimage.aspx?imageid=" & drImg.imageid & "&maxheight=40&maxwidth=40"
                img.ImageAlign = ImageAlign.AbsMiddle
                img.BorderStyle = BorderStyle.Solid
                img.Style.Add("border", "1px solid #D7D7D7")
                img.Style.Add("padding", "3px")
                img.CommandArgument = drImg.imageid
                img.ToolTip = img.ID & " - " & img.CommandArgument
                AddHandler img.Command, AddressOf SmallPicClicked

                Dim t As New Microsoft.Web.UI.AsyncPostBackTrigger
                t.ControlID = img.UniqueID
                t.EventName = "Click"
                Me.up3.Triggers.Add(t)

                Me.SmallPicPanel.Controls.Add(img)

                  Next

                  End If

    End Sub

    Sub SmallPicClicked(ByVal sender As Object, ByVal Args As CommandEventArgs)

       
        Me.BigPic.ImageUrl = "~/showimage.aspx?imageid=" & Args.CommandArgument & "&maxheight=200&maxwidth=200"
        Me.lbltest.Text = Args.CommandArgument

    End Sub


... men det eneste der skere når jeg trykker på knapperne er at knapperne forsvinder - triggeren bliver ikke aktiveret ???


Håber der er en som kan hjælpe.
Avatar billede agerled Nybegynder
22. november 2006 - 12:00 #1
Her er mine update panels:

<asp:UpdatePanel runat="server"  ID="up3" UpdateMode="Conditional"  >
<ContentTemplate >

<asp:Image runat="server" ID="BigPic" />


</ContentTemplate>

</asp:UpdatePanel>

<asp:UpdatePanel runat="server" ID="up2">
<ContentTemplate >

<asp:Panel Wrap="false" runat="server" ID="SmallPicPanel">


</asp:Panel>

</ContentTemplate>


</asp:UpdatePanel>
Avatar billede snepnet Nybegynder
22. november 2006 - 12:21 #2
Kører den kode du har vist hver gang siden loader?
... Jeg er ikke helt med på hvad du vil med triggeren. Kan du ikke bare kalde update på det respektive panel i den eventhandler (SmallPicClicked) du alligevel ønsker at eksekvere?
Mvh
Avatar billede agerled Nybegynder
22. november 2006 - 12:34 #3
ja koden køre hver gang siden loader...

jeg har prøvet at indsætte  Me.up3.Update() sidst i  SmallPicClicked, emn uden nogen effekt.
Avatar billede agerled Nybegynder
22. november 2006 - 12:41 #4
det virker fint når jeg manuelt tilføjer:

<asp:ImageButton ID="Button3" Runat="Server"
  CommandArgument="146"
  ImageUrl="~/showimage.aspx?imageid=146&maxheight=40&maxwidth=40"
  OnCommand="SmallPicClicked"
  Width="150"/>

i up2


...og


<Triggers >
<asp:AsyncPostBackTrigger ControlID="button3" EventName="Click" />
</Triggers>

i up3
Avatar billede snepnet Nybegynder
22. november 2006 - 13:14 #5
Hvis knapperne forsvinder - tyder det på at du ikke får kørt koden hver gang. Det vil også medføre at du ikke får kaldt eventhandleren, og det vil derfor ikke have nogen effekt - uanset hvad du laver i den handler.
Kan du ved debugging konstatere at du rent faktisk får kørt koden hver gang?
Mvh
Avatar billede agerled Nybegynder
22. november 2006 - 16:23 #6
nu har jeg fået en del af det til at virke, men hvordan får jeg følgende til ikke at reloade where gang der bliver trykket på en imagebutton????

  For Each drImg In ImageAdapter.GetImagebyProductID(ProductID).Rows

            Dim img As New System.Web.UI.WebControls.ImageButton
            img.ID = "SmallPic_" & drImg.imageid
            img.ImageUrl = "~/showimage.aspx?imageid=" & drImg.imageid & "&maxheight=40&maxwidth=40"
            img.ImageAlign = ImageAlign.AbsMiddle
            img.BorderStyle = BorderStyle.Solid
            img.Style.Add("border", "1px solid #D7D7D7")
            img.Style.Add("padding", "3px")
            img.CommandArgument = drImg.imageid
            'img.ToolTip = img.ID & " - " & img.CommandArgument
            AddHandler img.Command, AddressOf SmallPicClicked

            Me.SmallPicPanel.Controls.Add(img)

        Next
Avatar billede snepnet Nybegynder
23. november 2006 - 17:16 #7
Du smider kontrollerne ind i dit updatepanels ContentTemplateContainer ... Sådan noget i denne stil:
ditUpdatePanel.ContentTemplateContainer.Controls.Add(img);
Mvh
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