如何使用C#

时间:2015-12-27 13:00:15

标签: c# asp.net timer

我有一个计时器(带标签)和我的一个页面上的按钮。计时器使用简单的onTickEvent。

  protected void Timer1_Tick(object sender, EventArgs e)
    {
        int seconds = int.Parse(Label1.Text);

        if (seconds > 0)

            Label1.Text = (seconds - 1).ToString();
        else
            Timer1.Enabled = false;
    }

所有扩展程序在UpdatePanel中组合在一起

 <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
                <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                    <ContentTemplate>
                        <asp:Button ID="schlbtn1" runat="server" Text="Go To Lectures" CssClass="btn btn-lg btn-success btn-block" OnClick="schlbtn1_Click" Visible="true" ForeColor="Black" ViewStateMode="Enabled" ClientIDMode="Static" />
                        <asp:Label ID="Label1" runat="server">60</asp:Label>
                        <asp:Timer ID="Timer1" runat="server" Interval="1000" OnTick="Timer1_Tick">
                        </asp:Timer>
                    </ContentTemplate>
                </asp:UpdatePanel>

逻辑很简单。计时器使用默认设置为60的标签,并在每个间隔为1000毫秒的刻度上将其减1。一切正常但不幸的是计时器在我加载页面后立即开始倒计时。当我点击ID为“schlbtn1”的按钮时,我想以某种方式连接计时器。

1 个答案:

答案 0 :(得分:2)

创建时默认启用计时器,因此您需要将其创建为禁用,然后手动启用它。你可以这样做:

UpdatePanel中(注意Enabled设置为false):

<asp:Timer ID="Timer1" runat="server" Enabled="false" Interval="1000" OnTick="Timer1_Tick"></asp:Timer>

然后在按钮(schlbtn1_Click)的点击事件中启用计时器:

Timer1.Enabled = true;

这将导致计时器启动被禁用,然后在按下按钮时启动。