.net 在C中使用Updatepanel和计时器延迟加载#
通过计时器加载updatepanel后,我无法从updatepanel发出任何异步请求 aspx代码示例:.net 在C中使用Updatepanel和计时器延迟加载#,.net,asp.net,c#-4.0,asp.net-ajax,.net,Asp.net,C# 4.0,Asp.net Ajax,通过计时器加载updatepanel后,我无法从updatepanel发出任何异步请求 aspx代码示例: <asp:UpdatePanel runat="server" UpdateMode="Conditional"> <ContentTemplate> <%--The Timer that causes the partial postback--%> <asp:Timer runat="server" Interval="100
<asp:UpdatePanel runat="server" UpdateMode="Conditional">
<ContentTemplate>
<%--The Timer that causes the partial postback--%>
<asp:Timer runat="server" Interval="100" OnTick="Timer_Tick" Id="Timer1"/>
<asp:ImageButton ID="btnSaveEmployeePrevJobs" runat="server" ImageAlign="AbsBottom"
ImageUrl="~/Images/saveOff.gif" onmouseout="this.src='../Images/saveOff.gif'"
onmouseover="this.src='../Images/saveOn.gif'" OnClick="btnSaveEmployeePrevJobs_Click"/>
</ContentTemplate>
问题:无法引发单击事件
按一下按钮,基本上计时器就会
启用(不知道为什么)并调用
再次调用它自己,而不是调用click
事件
提前感谢..我会改用jQuery,因为我认为100毫秒非常小,所以在计时器计时2次左右之后,服务器端代码可能仍在加载并被执行 加载您的DOM,编写一个简单的jQuery函数从服务器获取数据,在页面中填充数据,然后微笑:)您尝试过:
protected void Timer1_Tick(object sender, EventArgs e)
{
//Timer1.Enabled = false;
Label1.Text = "Panel refreshed at: " + DateTime.Now.ToLongTimeString();
}
请注意,如果要设置UpdateMode=“Conditional”
,则需要显式调用UpdatePanel.Update()
;否则,请删除该属性
签出:至少我已经解决了我的问题,这是viewstate(在会话中存储viewstate)和异步请求之间的冲突。。。它在回发时为ViewState提供了新的编号
感谢您的时间…我正在优化现有代码,它是基于UpdatePanel构建的,因此使用jquery将是一个巨大的变化(
protected void Timer1_Tick(object sender, EventArgs e)
{
//Timer1.Enabled = false;
Label1.Text = "Panel refreshed at: " + DateTime.Now.ToLongTimeString();
}