Ajax control Toolkit Animation效果很酷,可以节省我们很多的开发时间。但是昨天发现了Animation缺乏灵活性的一点,这让我们一度陷入被动. 下面是示例代码里面的一段: <ajaxToolkit:AnimationExtender id="OpenAnimation" runat="server" TargetControlID="btnInfo"> <Animations> <OnClick> <Sequence> <%-- Disable the button so it can't be clicked again --%> <EnableAction Enabled="false"/> <%-- Position the wire frame on top of the button and show it --%> <ScriptAction Script="Cover($get('ctl00_SampleContent_btnInfo'), $get('flyout'));"/> <StyleAction AnimationTarget="flyout" Attribute="display" Value="block"/> <%-- Move the wire frame from the button's bounds to the info panel's bounds --%> <Parallel AnimationTarget="flyout" Duration=".3" Fps="25"> <Move Horizontal="150" Vertical="-50"/> <Resize Width="260" Height="280"/> <Color PropertyKey="backgroundColor" StartValue="#AAAAAA" EndValue="#FFFFFF"/> </Parallel> <%-- Move the info panel on top of the wire frame, fade it in, and hide the frame --%> <ScriptAction Script="Cover($get('flyout'), $get('info'), true);"/> <StyleAction AnimationTarget="info" Attribute="display" Value="block"/> <FadeIn AnimationTarget="info" Duration=".2"/> <StyleAction AnimationTarget="flyout" Attribute="display" Value="none"/> <%-- Flash the text/border red and fade in the "close" button --%> <Parallel AnimationTarget="info" Duration=".5"> <Color PropertyKey="color" StartValue="#666666" EndValue="#FF0000"/> <Color PropertyKey="borderColor" StartValue="#666666" EndValue="#FF0000"/> </Parallel> <Parallel AnimationTarget="info" Duration=".5"> <Color PropertyKey="color" StartValue="#FF0000" EndValue="#666666"/> <Color PropertyKey="borderColor" StartValue="#FF0000" EndValue="#666666"/> <FadeIn AnimationTarget="btnCloseParent" MaximumOpacity=".9"/> </Parallel> </Sequence> </OnClick> </Animations> </ajaxToolkit:AnimationExtender> 我们注意一下Move效果,现在Horizontal Vertical的偏移量都是固定值,我们当然希望可以用一个灵活的方式来设定这个值,最简单的: function a() { return200;} 然后修改代码 <Move Horizontal="return a();" Vertical="-50"/>,运行,页面报错:参数无效 同样的问题出现在了Resize上面,查看页面源代码: [{/"AnimationName/":/"Move/",/"Horizontal/":/"return a();/",/"Vertical/":/"-50/",/"AnimationChildren/":[]},{/"AnimationName/":/"Resize/",/"Width/":/"260/",/"Height/":/"280/",/"AnimationChildren/":[]}, 这个问题让Ajax Control toolkit Animation的可用性大大降低,有多少东西是一成不变的呢???