积极答复者
ajax控件UpdatePanelAnimationExtender的问题

问题
答案
-
不会啊,关键要把每个UpdatePanel的属性这样设置:
ChildrenAsTriggers="false" UpdateMode="Conditional"
下面是我的参考代码:
<form id="form1" runat="server"> <asp:ScriptManager ID="asm" runat="server" /> <div> <asp:UpdatePanel ID="upOne" runat="server" ChildrenAsTriggers="false" UpdateMode="Conditional"> <ContentTemplate> <asp:Panel ID="Panel1" CssClass="panelClass" runat="server"> <br /> 更新面板1中服务器时间:<asp:Label ID="lblShowOne" runat="server" Text=""></asp:Label> <asp:Button ID="btnSubmit" runat="server" Text="提交" OnClick="btnSubmit_Click" /> </asp:Panel> </ContentTemplate> </asp:UpdatePanel> <br /> <br /> <br /> <asp:UpdatePanel ID="upTwo" runat="server" ChildrenAsTriggers="false" UpdateMode="Conditional"> <ContentTemplate> <asp:Panel ID="Panel2" CssClass="panelClass" runat="server"> <br /> 更新面板2中服务器时间:<asp:Label ID="lblShowTow" runat="server" Text=""></asp:Label> <asp:Button ID="btnOk" runat="server" Text="确定" OnClick="btnOk_Click" /> </asp:Panel> </ContentTemplate> </asp:UpdatePanel> <cc1:UpdatePanelAnimationExtender ID="upae" runat="server" TargetControlID="upOne"> <Animations> <OnUpdated> <FadeIn Duration="1.0" Fps="24" /> </OnUpdated> </Animations> </cc1:UpdatePanelAnimationExtender> </div> </form>
protected void Page_Load(object sender, EventArgs e) { if(!IsPostBack) { this.lblShowOne.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); this.lblShowTow.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); } } protected void btnSubmit_Click(object sender, EventArgs e) { this.upOne.Update(); this.lblShowOne.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); } protected void btnOk_Click(object sender, EventArgs e) { this.upTwo.Update(); this.lblShowTow.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); }
努力!奋斗- 已标记为答案 刘赛 2009年10月21日 2:40
全部回复
-
不会啊,关键要把每个UpdatePanel的属性这样设置:
ChildrenAsTriggers="false" UpdateMode="Conditional"
下面是我的参考代码:
<form id="form1" runat="server"> <asp:ScriptManager ID="asm" runat="server" /> <div> <asp:UpdatePanel ID="upOne" runat="server" ChildrenAsTriggers="false" UpdateMode="Conditional"> <ContentTemplate> <asp:Panel ID="Panel1" CssClass="panelClass" runat="server"> <br /> 更新面板1中服务器时间:<asp:Label ID="lblShowOne" runat="server" Text=""></asp:Label> <asp:Button ID="btnSubmit" runat="server" Text="提交" OnClick="btnSubmit_Click" /> </asp:Panel> </ContentTemplate> </asp:UpdatePanel> <br /> <br /> <br /> <asp:UpdatePanel ID="upTwo" runat="server" ChildrenAsTriggers="false" UpdateMode="Conditional"> <ContentTemplate> <asp:Panel ID="Panel2" CssClass="panelClass" runat="server"> <br /> 更新面板2中服务器时间:<asp:Label ID="lblShowTow" runat="server" Text=""></asp:Label> <asp:Button ID="btnOk" runat="server" Text="确定" OnClick="btnOk_Click" /> </asp:Panel> </ContentTemplate> </asp:UpdatePanel> <cc1:UpdatePanelAnimationExtender ID="upae" runat="server" TargetControlID="upOne"> <Animations> <OnUpdated> <FadeIn Duration="1.0" Fps="24" /> </OnUpdated> </Animations> </cc1:UpdatePanelAnimationExtender> </div> </form>
protected void Page_Load(object sender, EventArgs e) { if(!IsPostBack) { this.lblShowOne.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); this.lblShowTow.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); } } protected void btnSubmit_Click(object sender, EventArgs e) { this.upOne.Update(); this.lblShowOne.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); } protected void btnOk_Click(object sender, EventArgs e) { this.upTwo.Update(); this.lblShowTow.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); }
努力!奋斗- 已标记为答案 刘赛 2009年10月21日 2:40
-
哈哈,解决该问题有两种办法:
1.正如楼上所说,每个updatapanel的属性都设置为ChildrenAsTriggers="false" UpdateMode="Conditional",在需要更新时候,在后台调用this.upOne.Update();
2.UpdatePanelAnimationExtender 控件里执行的动画是可以添加条件的,例如:
<OnUpdating>
<Parallel duration="0">
<Condition ConditionScript="$get('HiddenField2').value=='1'">
<ScriptAction Script="onUpdating();" />
</Condition>
</Parallel>
</OnUpdating>
<OnUpdated>
<Parallel duration="0">
<Condition ConditionScript="$get('HiddenField2').value=='2'">
<ScriptAction Script="onUpdated();" />
</Condition>
</Parallel>
</OnUpdated>
大家可以任意发挥,当满足指定条件时候才执行动画,也能解决此问题。