我正在尝试以编程方式更改现有UpdatePanelAnimationExtender控件的动画。它只在第一次点击Page_Init时更新.Animations方法。
这是我到目前为止所做的。
步骤1.在aspx页面中创建UpdatePanelAnimationExtender(假设您已经创建了UpdatePanel):
<cc1:UpdatePanelAnimationExtender ID="UpdatePanelAnimationExtender1" runat="server"
TargetControlID="UpdatePanel1" Enabled="True" >
<Animations>
<OnUpdated>
<Sequence>
<Parallel duration="0">
<ScriptAction Script="alert('test1');" />
</Parallel>
</Sequence>
</OnUpdated>
</Animations>
</cc1:UpdatePanelAnimationExtender>
步骤2,从Page_Init(在代码后面),尝试更改警报javascript方法:
protected void Page_Init(object sender, EventArgs e)
{
// Gets a reference to a control inside a ContentPlaceHolder
ContentPlaceHolder mpContentPlaceHolder;
mpContentPlaceHolder = (ContentPlaceHolder)Master.FindControl("MainContent");
if (mpContentPlaceHolder != null)
{
UpdatePanelAnimationExtender uae = (UpdatePanelAnimationExtender)mpContentPlaceHolder.FindControl("UpdatePanelAnimationExtender1");
if (uae != null)
{
uae.Enabled = true;
uae.Animations = "<OnUpdated>" +
"<Sequence>" +
"<Parallel duration=\"0\">" +
"<ScriptAction Script=\"alert('" + DateTime.Now + "');\" />" +
"</Parallel>" +
"</Sequence>" +
"</OnUpdated>";
}
}
}
您会注意到它第一次运行时会更新消息框上的时间,任何后续呼叫都不会更新时间。为什么时间没有更新,如何解决?
先谢谢
答案 0 :(得分:0)
易。
在客户端呈现的是DateTime.Now
的值是什么。它不是动态方法调用,而是一次创建。
尝试调用DateTime.Now的javascript版本。