2010-08-19 37 views
0

我又来了!两个UpdatePanelAnimation扩展器 - 导致动画在两个更新面板上触发

我有根据更新面板更改标签颜色如下:

<asp:UpdatePanelAnimationExtender ID="UpdatePanelAnimationExtender1" runat="server" 
      Enabled="True" TargetControlID="UpdatePanel1"> 
      <Animations> 
     <OnUpdating> 
     <Color 
     AnimationTarget="lblSearchResults1" 
      Duration="1" 
      StartValue="#FFFFFF" 
      EndValue="#FFFFFF" 
      Property="style" 
      PropertyKey="color"/> 
     </OnUpdating> 
     <OnUpdated> 
     <Color 
     AnimationTarget="lblSearchResults1" 
      Duration="1" 
      StartValue="#FFFFFF" 
      EndValue="#009685" 
      Property="style" 
      PropertyKey="color" /> 
     </OnUpdated> 
      </Animations> 
     </asp:UpdatePanelAnimationExtender> 

精细。作品一种享受。

不过,我也有在同一页上以下,但不同的更新面板内:

<asp:UpdatePanelAnimationExtender ID="UpdatePanelAnimationExtender1" runat="server" 
      Enabled="True" TargetControlID="UpdatePanel2"> 
      <Animations> 
     <OnUpdating> 
     <Color 
     AnimationTarget="lblSearchResults2" 
      Duration="1" 
      StartValue="#FFFFFF" 
      EndValue="#FFFFFF" 
      Property="style" 
      PropertyKey="color"/> 
     </OnUpdating> 
     <OnUpdated> 
     <Color 
     AnimationTarget="lblSearchResults2" 
      Duration="1" 
      StartValue="#FFFFFF" 
      EndValue="#009685" 
      Property="style" 
      PropertyKey="color" /> 
     </OnUpdated> 
      </Animations> 
     </asp:UpdatePanelAnimationExtender> 

这也适用于治疗。但是,更新会导致动画/颜色更改在两个标签中的任何一个触发时触发。

我该怎么做,或者我必须做什么,以便每次只有一个标签更改颜色,即UpdatePanel1更新时,lblSearch1更改颜色,但lblSearch2保持原样。

回答

0

我的猜测是你的问题是UpdatePanels,而不是动画扩展。您需要检查UpdatePanel的UpdateMode属性。它需要您的方案有条件工作。如果两个UpdatePanel都更新了(通过UpdateMode = Always或通过调用Update()方法的编程方式),两个动画都将被触发。