부분 포스트 백간에로드하는 데 시간이 걸리고 updatePanelAnimationExtender를 배치하여 updatePanel을 페이드 인 및 페이드 아웃하는 페이지가 있습니다. 샘플 : 페이지가 처음로드 당신이 얻을 때 버튼을 클릭하면Asp.net Ajax Single UpdatePanel + AnimationExtender + HIstory = OnUpdated 애니메이션 없음
Private Sub testpage_Init(sender As Object, e As System.EventArgs) Handles Me.Init
UpdatePanel1.ContentTemplateContainer.Controls.Add(New LiteralControl("1")) 'Show the init ran
End Sub
Private Sub btn_Click(sender As Object, e As System.EventArgs) Handles testbtn.Click
ScriptManager.GetCurrent(Me.Page).AddHistoryPoint("2", "2", "2") 'Save Event
UpdatePanel1.ContentTemplateContainer.Controls.Add(New LiteralControl("2")) 'Display event
End Sub
Private Sub sm1_Navigate(sender As Object, e As System.Web.UI.HistoryEventArgs) Handles sm1.Navigate
Dim State As String = ""
If e.State.HasKeys Then
State = e.State.Item(0)
End If
UpdatePanel1.ContentTemplateContainer.Controls.Add(New LiteralControl(State)) '"Reload" event
End Sub
이 는 버튼 1
이는 상태 표시 을 절약 뒤에
영문
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Always" >
<ContentTemplate>
<asp:Button ID="testbtn" runat="server" Text="test" />
</ContentTemplate>
</asp:UpdatePanel>
<ajaxToolkit:UpdatePanelAnimationExtender ID="UpdatePanelAnimations" runat="server" TargetControlID="UpdatePanel1">
<Animations>
<OnUpdating>
<FadeOut Duration="0.2" Fps="20" minimumOpacity=".3" />
</OnUpdating>
<OnUpdated>
<FadeIn Duration="0.2" Fps="20" minimumOpacity=".3"/>
</OnUpdated>
</Animations>
</ajaxToolkit:UpdatePanelAnimationExtender>
코드 버튼 12
그리고 페이드 인/아웃이 바르게 수행됩니다. 이력 정보가있는 URL을 가져 와서 새 탭에로드하려고하면 Button 12가 올바르게 표시되지만 페이드 아웃 상태가됩니다. 처음으로 페이지를로드하는 것과 관련하여 부분 포스트 백이 발생한 경우에만 OnUpdated가 실행될 것이라고 사람들이 들었습니다. 나는 그것이 결코 사라져 버리지 않기 때문에 역사에 의해 로딩 할 때 partialpostback을 가짜로 만들지는 않을 것이라고 짐작하고있다.
내 질문에 내가 방금 찾거나 찾지 못했던 문제를 해결할 수있는 깨끗한 방법이있다. 수동으로 페이드 인을 호출합니까? 이 문제가 단순한 것만 큼 나는 도움이 거의 없다는 것을 알 수 있습니다.
감사합니다.
글쎄, 나는 또한 자바 스크립트를 통해 그것을하는 방법에 대한 정보를 얻을 것이다. $ (document) .ready 및 Sys.WebForms.PageRequestManager.getInstance()에서 수정하려고했습니다. add_endRequest (EndRequestHandler); 애니메이션이 실행되기 전에 모두 실행됩니다. – jheizer