我有一个页面需要一段时间才能在部分回传之间加载,并放置了一个 UpdatePanelAnimationExtender 来淡入和淡出更新面板。样本:
象素
<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>
代码背后
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
当页面首次加载时,您将获得 Button 1
当您单击按钮时,它会保存状态并显示 Button 12
它可以正确地淡入淡出。如果您获取带有历史信息的 URL 并尝试将其加载到新选项卡中,则 Button 12 会正确显示,但仍会淡出。我听说有人说 OnUpdated 只会在第一次加载页面时发生部分回发时运行。我猜它在按历史加载时不会伪造部分回发,因此它永远不会淡入。
我的问题是有一种干净的方法来解决这个我刚刚能够找到的问题,还是我坚持注入一些javascript来手动调用淡入淡出?对于这个问题似乎很简单,我几乎找不到任何帮助。
谢谢