6

嗨,我在堆栈溢出方面进行了很多搜索,以找到适合我的问题的答案,但找不到。我希望你们能帮助我解决我的问题。

我有一个有两个更新面板的 Web 应用程序。

第一个更新面板仅包含一个间隔仅为一秒的计时器,它充当倒计时计时器。

第二个更新面板是条件面板,仅在倒计时完成时更新。

我面临的问题是,当我发布我的 Web 应用程序时,计时器似乎无法在页面上正常工作(我假设它会刷新)。在本地主机上它可以完美运行,没有任何麻烦。下面给出了 aspx 文件和 aspx.cs 文件的代码

<asp:UpdatePanel ID="UpdatePanel2" runat="server">
  <ContentTemplate>
    <asp:Timer ID="Timer1" runat="server" Interval="1000" OnTick="Timer1_Tick">
    </asp:Timer> 
    <div class="form-area">
      <div class="clock">
        <p><img id="c-time" src="images/clock.png"/>Current Time 
           <span class="spanclass">
             <asp:Label ID="CurrentTimeLabel" runat="server" Text="Label">
             </asp:Label>
           </span>
        </p>
      </div>
      <p id="text">
        <asp:Label ID="Processing" runat="server" Text="Label"></asp:Label>
        <br />
        <asp:Label ID="FilterLabel" runat="server" Text="Label"></asp:Label>
        <br />Time Left for list to Refresh
        <span class="spanclass">
          <asp:Label ID="TimeLeftLabel" runat="server" Text=""></asp:Label>
        </span>
      </p>
    </div>
    <div class="clear"></div>
  </ContentTemplate>
</asp:UpdatePanel>

对于 aspx.cs

protected void Timer1_Tick(object sender, EventArgs e)
    {
        CurrentTimeLabel.Text = DateTime.Now.ToShortTimeString();
        if (SecondsLeft > 0)
        {
            SecondsLeft--;
        }

        else if (MinutesLeft > 0)
        {
            MinutesLeft--;
            SecondsLeft = 59;
        }
        if (SecondsLeft < 10)
        TimeLeftLabel.Text =  " 0" + MinutesLeft + ":" + "0" + SecondsLeft;
        else
        TimeLeftLabel.Text = " 0" + MinutesLeft + ":" + SecondsLeft;
        if (MinutesLeft == 5)
        {
            FilterLabel.Text = "";
        }
        if (MinutesLeft == 0 && SecondsLeft == 0)
        {
           function();
        }

    }

提前致谢。期待帮助

4

2 回答 2

1

页面上有 ScriptManager 控件吗?

于 2014-01-10T17:53:59.923 回答
1

我同意奥维迪乌的观点。用 jQuery 在 javascript 中尝试一下。

$(document).ready(function(){
  setInterval(function () {Counter() }, 1000);
 });

var count= 0;
function Counter() {
  count++;
  $('#testLabel').html(count);
}
于 2013-11-08T13:17:03.450 回答