webForumDet fria alternativet

AJAX: Uppdateras alla updatepanels vid postback???

.NET

5 svar · 378 visningar · startad av toja

Medlem sedan mars 2001218 inlägg
Frågan#1

Hej.

Jobbar lite med att försöka få in lite AJAX på en websida.
Jag har AJAX Control Tool Kit... och i detta finns en hel del kontroller...

Jag har testat att sätta på en Animation på några av mina UpdatePanels...
<OnUpdated>, om jag förstår rätt så körs denna animation bara när panelen uppdateras och om innehållet ändrats...??

Men detta är inte fallet... den körs hela tiden vid postback, även om innehållet ej ändrats... men det största problemet är att alla animationer körs på alla updatepanels när jag igentligen bara ska uppdatera en enskilld.?! Vad beror detta på.. uppdateras alla paneler vid en postback???

Medlem sedan sep. 200278 inlägg
#2

Svar; Ja.

Alla updatepanels uppdateras vid en (partial)postback. Om man inte vill uppdatera alla panels sätter man <asp:updatepanel updatemode="conditional" id="Updatepanel1" ... />

Då måste man själv, i codebehind, anropa Updatepanel1.Update() för att får panelen att ladda om.

Medlem sedan mars 2001218 inlägg
#3

Okej... men jag har dom som conditional, fast kallar på dom med en trigger, se kod:

<asp:ScriptManager ID="ScriptManager" EnablePartialRendering="true" runat="server" />

<asp:UpdatePanel ID="updTest" UpdateMode="Conditional" runat="server">
   <ContentTemplate>
      <asp:Literal ID="litTest" runat="server" />
   </ContentTemplate>
   <Triggers>
      <asp:AsyncPostBackTrigger ControlID="cmdTest" EventName="Click" />
   </Triggers>
</asp:UpdatePanel>

<asp:LinkButton ID="cmdTest" runat="server">TEST</asp:LinkButton>

Är jag inte på rätt spår, enligt detta trodde jag inte att alla skulle uppdateras samtidigt...

Medlem sedan sep. 200278 inlägg
#4

Well.. vad händer när du klickar på "cmdTest" då? Är det en fullpage posrtback, eller partial postback?

Det kan också vara så att animationextender alltid kör alla animationer som är associerade till updatepanels vid postback, det vet jag inte...

Medlem sedan mars 2001218 inlägg
#5

Det är inte en full postback.. eftersom bara delar av sidan laddas om...
Så här ser animationen ut:

<ajaxToolkit:UpdatePanelAnimationExtender ID="fadeInTest" runat="server" TargetControlID="updTest">
   <Animations>
      <OnUpdated><FadeIn Duration="0.5" Fps="20" /></OnUpdated>
   </Animations>
</ajaxToolkit:UpdatePanelAnimationExtender>
Medlem sedan mars 2001218 inlägg
#6

Det löste sig med att ta bort vissa triggers... och sedan köra update() manuellt... enligt slutgiltiga svaret...

257 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)