代码之家  ›  专栏  ›  技术社区  ›  AIGorithmGuy

我的秒表在Webforms中有什么问题?ASP。净C#

  •  0
  • AIGorithmGuy  · 技术社区  · 7 年前

    我制作了一个显示时间和日期的网络表单,我想对秒表也这样做,但由于某种原因,秒表不能工作。

    当我单击“开始”时,时间应该开始滴答作响;当我单击“停止”时,时间应该停止;当我单击“重置”时,时间应该清除。相反,当我单击“开始”时,什么也没有发生。

    这是我的代码(C#):

    {
    public partial class WebForm1 : System.Web.UI.Page
    {
        private short _secs, _ms;
    
        protected void Page_Load(object sender, EventArgs e)
        {
    
        }
    
        protected void Timer1_Tick(object sender, EventArgs e)
        {
            Timerz.Text = DateTime.Now.ToString();
        }
    
        protected void Timer2_Tick(object sender, EventArgs e)
        {
            IncreaseMS();
            ShowTime();
        }
    
        private void IncreaseMS()
        {
            if (_ms == 99)
            {
                _ms = 0;
                IncreaseSecs();
            }
            else
            {
                _ms++;
            }
        }
    
        private void IncreaseSecs()
        {
            if (_secs == 59)
            {
                _secs = 0;
            }
            else
            {
                _secs++;
            }
        }
    
        protected void start_Click(object sender, EventArgs e)
        {
            start.Enabled = false;
            Timer2.Enabled = true;
        }
    
        protected void reset_Click(object sender, EventArgs e)
        {
            _secs = 0;
            _ms = 0;
    
            ShowTime();
        }
    
        private void ShowTime()
        {
            secsText.Text = _secs.ToString("00");
            msText.Text = _ms.ToString("00");
        }
    
        protected void stop_Click(object sender, EventArgs e)
        {
            start.Enabled = true;
            Timer2.Enabled = false;
        }
    }
    }
    

    网络表单,ASP。网络代码:

    <body>
    <form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>
        <div>
            Current time:
            <asp:Label ID="Timerz" runat="server"></asp:Label>
        </div>
        <asp:Timer ID="Timer1" runat="server" Interval="1000" 
    OnTick="Timer1_Tick">
        </asp:Timer>
    <div>
        <asp:Label ID="secsText" runat="server" Text="00"></asp:Label><asp:Label 
    ID="colon" runat="server" Text=":"></asp:Label><asp:Label ID="msText" 
    runat="server" Text="00"></asp:Label>
        <br />
        <asp:Button ID="start" runat="server" Text="Start" OnClick="start_Click" 
    /><asp:Button ID="stop" runat="server" Text="Stop" OnClick="stop_Click" />
    <asp:Button ID="reset" runat="server" Text="Reset" OnClick="reset_Click" />
    </div>
        <asp:Timer ID="Timer2" runat="server" OnTick="Timer2_Tick">
        </asp:Timer>
    </form>
    </body>
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   David J    7 年前

    您尚未在Timer2上设置Interval属性。默认间隔为60秒,您可能没有等待那么长时间。