日期:2014-05-17  浏览次数:20846 次

隐藏层的定时器问题
在隐藏层中用了这样的代码
  <asp:UpdatePanel ID="UpdatePanel1" runat="server">
     <ContentTemplate>
        <asp:Timer ID="Timer1" runat="server" Interval="1000" ontick="Timer1_Tick">
        </asp:Timer>
        <asp:Label ID="notes" runat="server" Text="Label"></asp:Label> 
         </ContentTemplate>
           </asp:UpdatePanel>

希望实现的功能是,隐藏层弹开时,倒计时,时间到了就隐藏该层
但是我加上上面的代码时,timer没有按照每秒刷新来操作,而是该层每次弹出时,进行一次Timer1_Tick操作。例如说我倒计时十秒,那么第一次打开的时候,提示10秒,然后时间就定格了……把这层关闭掉,再打开,就提示9秒,也就是每次打开该层,才进行一个timer1_tick操作

但是我将同样的代码,直接放到非隐藏层里,就可以正常的倒计时了,请问是为什么呢?
timer asp UpdatePanel 隐藏div 倒计时

------解决方案--------------------
不好意思刚才没看到你的需求 timer控件可以满足你的要求 这情况是你事件中方法写错了 还有 你打开层10秒以后隐藏 然后没有其他需求了吧 你应该先把逻辑理一理 进入Timer1_Tick事件显示层 10秒后再次进入Timer1_Tick事件先判断层是否打开 如果打开隐藏 然后timer控件enabled=false;这样的话Timer1 的Interval应该设置为10000