11. marts 2007 - 19:14
Der er
16 kommentarer og 1 løsning
Ajax. Trigger updatepanel fra usercontrol
Jeg har en side som skifter indhold med AJAX alt efter hvad der trykkes på. Der loades så nogle usercontrols ud fra valget. Nu vil jeg gerne kunne trigger main updatepanel fra min usercontrol. Hvordan gør jeg dette?
Annonceindlæg fra Thinkwise
11. marts 2007 - 19:37
#1
Du skal lave et event i din user control. Når du trigger det event kan det blive fanget af dit updatepanel: <asp:Button ID="MyButton" runat="server" Text="Submit" /> 2: <atlas:UpdatePanel ID="MyUpdatePanel" runat="server" Mode="Conditional"> 3: <ContentTemplate> 4: <asp:Label ID="Message" runat="server"></asp:Label> 5: </ContentTemplate> 6: <Triggers> 7: <atlas:ControlEventTrigger ControlID="MyUsc" EventName="Click" /> 8: </Triggers> 9: </atlas:UpdatePanel>
11. marts 2007 - 19:45
#2
ControlID="MyUSC" min usercontrols navn, eller controls navn? kan du give et eks. på en event som den ville fange.
11. marts 2007 - 19:57
#3
tilføj dette i codebehind af din usercontrol: public delegate void MinEventHandler(EventArgs e); public event MinEventHandler Changed; For at raise event fra din usercontrol bruger du: if (Changed!= null) { Changed(new EventArgs()); }
11. marts 2007 - 20:01
#4
på din side hvor du bruger usercontrolen bruger du: <uc1:MyUsc id="MyUsc" runat="server" OnChanged="Enellerandenmetode" /> <atlas:UpdatePanel ID="MyUpdatePanel" runat="server" Mode="Conditional"> <ContentTemplate> <asp:Label ID="Message" runat="server"></asp:Label> </ContentTemplate> <Triggers> <atlas:ControlEventTrigger ControlID="MyUsc" EventName="Changed" /> </Triggers> </atlas:UpdatePanel> i codebehind protected void Enellerandenmetode(eventargs e) { //lav et eller andet }
11. marts 2007 - 20:13
#5
<uc1:MyUsc id="MyUsc" runat="server" OnChanged="Enellerandenmetode" /> hvad er uc1? skal jeg først register usercontrollen? eller hvad?
11. marts 2007 - 20:30
#6
ja
11. marts 2007 - 20:41
#7
Jeg kan slet ikke finde rundt i det. Hvad i min usercontrol peger over på protected void Enellerandenmetode(eventargs e) Min knap er på min usercontrol.
11. marts 2007 - 21:50
#8
på siden som skal vise user control bruger du: <uc1:MyUsc id="MyUsc" runat="server" OnChanged="Enellerandenmetode" /> I codebehind på den bruger du: protected void Enellerandenmetode(eventargs e)
11. marts 2007 - 22:18
#9
Forklar mig lige en gang hvad der sker fra jeg trykker på min knap i usercontrollen til at jeg kalder en funktion i min main side. Jeg kan virkeligt ikke se logikken i det. Kan ikke se hvor henne, der er defineret noget som helst om min knap fra usercontrollen.
11. marts 2007 - 22:25
#10
Undskyld hvis jeg lyder lidt gnaven, det er ikke min hensigt. Har siddet med dette problem i et stykke tid i dag, og det irriterer mig godt og grundigt.
12. marts 2007 - 13:31
#11
paste lige kode til din usercontrol.
12. marts 2007 - 16:06
#12
ASPX: Indeholder denne LinkButton. <asp:LinkButton ID="Bestil" runat="server" CommandArgument="6" CommandName="Bestil" OnCommand="Change_Command">Bestil</asp:LinkButton> Der er ikke rigtigt defineret noget i code behind endnu. Den side som includere denne usercontrol er. MAIN.ASPX: Og har et UpdatePanel med diverse triggers. <asp:UpdatePanel ID="Panel1" runat="server"> <ContentTemplate> <asp:PlaceHolder ID="Container" runat="server" /> </ContentTemplate> <Triggers> <asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click" /> <asp:AsyncPostBackTrigger ControlID="Button2" EventName="Click" /> <asp:AsyncPostBackTrigger ControlID="Button3" EventName="Click" /> <asp:AsyncPostBackTrigger ControlID="Button4" EventName="Click" /> <asp:AsyncPostBackTrigger ControlID="Button5" EventName="Click" /> </Triggers> </asp:UpdatePanel> CodeBehind MAIN.ASPX.CS: Her er min Change_Command event, som fanger de her LinkButton clicks. protected void Change_Command(Object sender,CommandEventArgs cmd ) { //Logik. Panel1.UpdateMode = UpdatePanelUpdateMode.Conditional; Panel1.Update(); } Ellers er der ikke meget af det andet i koden der har indflydelse på det her. Og jeg så gerne at den LinkButton i min UserControl hoppede ind i Change_Command
13. marts 2007 - 16:38
#13
har du defineret en Change_Command i codebehind på usercontrol ?
13. marts 2007 - 16:38
#14
hvordan ser din erklæring af usercontrol ud?
28. januar 2008 - 21:35
#15
Sorry for det MEGET sene svar og manglende tilbagemelding. Det var et hektisk projekt :-) Jeg fandt aldrig en løsning til dette. Hvad gør vi med point ?
28. januar 2008 - 21:44
#16
Behold du dem bare jeg mangler ikke nogen.
28. januar 2008 - 22:05
#17
Så lukker jeg. Tak for hjælpen anyways.
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.