标题: ASP.NET读秒器问题 [打印本页]

作者: xgz138    时间: 2021-6-29 21:33
标题: ASP.NET读秒器问题
做ASP.NET读秒器的实验时,明明按照老师说的方法做了,但是运行时只到1就停止了。

源代码如下
  1. protected void Page_Load(object sender, EventArgs e)
  2.     {
  3.         
  4.             Label1.Text = "0";
  5.             Timer1.Enabled = false;
  6.         
  7.         
  8.         

  9.     }
  10.     protected void Timer1_Tick(object sender, EventArgs e)
  11.     {
  12.         int i = (Convert.ToInt16(Label1.Text));
  13.         i = i + 1;
  14.         Label1.Text = i.ToString();
  15.     }
  16.     protected void Button1_Click(object sender, EventArgs e)
  17.     {
  18.         Timer1.Enabled = true;
  19.     }
  20.     protected void Button2_Click(object sender, EventArgs e)
  21.     {
  22.         Timer1.Enabled = false;
  23.     }
复制代码
后来我终于发现了原因,原来是Page_Load事件没加if (!IsPostBack)判断语句,加上就好了

最终代码如下:aspx文件
  1. <%@ Page Language="C#" AutoEventWireup="true" CodeFile="7-2.aspx.cs" Inherits="_7_2" %>

  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head runat="server">
  5.     <title></title>
  6. </head>
  7. <body>
  8.     <form id="form1" runat="server">
  9.     <asp:UpdatePanel ID="UpdatePanel1" runat="server">
  10.         <ContentTemplate>
  11.             <asp:ScriptManager ID="ScriptManager1" runat="server">
  12.             </asp:ScriptManager>
  13.             <asp:Timer ID="Timer1" runat="server" Interval="1000" ontick="Timer1_Tick">
  14.             </asp:Timer>
  15.             <asp:Label ID="Label1" runat="server" Text="Label" Font-Bold="True"
  16.                 Font-Names="宋体" Font-Size="Larger"></asp:Label>
  17.             <br />
  18.         </ContentTemplate>
  19.     </asp:UpdatePanel>
  20.     <div>
  21.    
  22.         <asp:Button ID="Button111" runat="server" onclick="Button1_Click" Text="开始" />
  23.         <asp:Button ID="Button222" runat="server" onclick="Button2_Click" Text="暂停" />
  24.    
  25.     </div>
  26.     </form>
  27. </body>
  28. </html>
复制代码

aspx.cs代码
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Web.UI;
  6. using System.Web.UI.WebControls;
  7. using System.Timers;

  8. public partial class _7_2 : System.Web.UI.Page
  9. {
  10.     protected void Page_Load(object sender, EventArgs e)
  11.     {
  12.         if (!IsPostBack)
  13.         {
  14.             Label1.Text = "0";
  15.             Timer1.Enabled = false;
  16.         }
  17.         
  18.         

  19.     }
  20.     protected void Timer1_Tick(object sender, EventArgs e)
  21.     {
  22.         int i = (Convert.ToInt16(Label1.Text));
  23.         i = i + 1;
  24.         Label1.Text = i.ToString();
  25.     }
  26.     protected void Button1_Click(object sender, EventArgs e)
  27.     {
  28.         Timer1.Enabled = true;
  29.     }
  30.     protected void Button2_Click(object sender, EventArgs e)
  31.     {
  32.         Timer1.Enabled = false;
  33.     }
  34. }
复制代码
记录一下!
(来自 ASP.NET应用开发实例教程 卢守东  清华大学出版社   附录A  实验指导 实验七 第二个






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1