做ASP.NET讀秒器的實驗時,明明按照老師說的方法做了,但是運行時只到1就停止了。
1.png (8.52 KB, 下載次數(shù): 51)
下載附件
2021-6-29 23:22 上傳
源代碼如下- protected void Page_Load(object sender, EventArgs e)
- {
-
- Label1.Text = "0";
- Timer1.Enabled = false;
-
-
-
- }
- protected void Timer1_Tick(object sender, EventArgs e)
- {
- int i = (Convert.ToInt16(Label1.Text));
- i = i + 1;
- Label1.Text = i.ToString();
- }
- protected void Button1_Click(object sender, EventArgs e)
- {
- Timer1.Enabled = true;
- }
- protected void Button2_Click(object sender, EventArgs e)
- {
- Timer1.Enabled = false;
- }
復制代碼 后來我終于發(fā)現(xiàn)了原因,原來是Page_Load事件沒加if (!IsPostBack)判斷語句,加上就好了
6.png (8.14 KB, 下載次數(shù): 48)
下載附件
2021-9-14 19:35 上傳
最終代碼如下:aspx文件
- <%@ Page Language="C#" AutoEventWireup="true" CodeFile="7-2.aspx.cs" Inherits="_7_2" %>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head runat="server">
- <title></title>
- </head>
- <body>
- <form id="form1" runat="server">
- <asp:UpdatePanel ID="UpdatePanel1" runat="server">
- <ContentTemplate>
- <asp:ScriptManager ID="ScriptManager1" runat="server">
- </asp:ScriptManager>
- <asp:Timer ID="Timer1" runat="server" Interval="1000" ontick="Timer1_Tick">
- </asp:Timer>
- <asp:Label ID="Label1" runat="server" Text="Label" Font-Bold="True"
- Font-Names="宋體" Font-Size="Larger"></asp:Label>
- <br />
- </ContentTemplate>
- </asp:UpdatePanel>
- <div>
-
- <asp:Button ID="Button111" runat="server" onclick="Button1_Click" Text="開始" />
- <asp:Button ID="Button222" runat="server" onclick="Button2_Click" Text="暫停" />
-
- </div>
- </form>
- </body>
- </html>
復制代碼
aspx.cs代碼
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Web;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- using System.Timers;
- public partial class _7_2 : System.Web.UI.Page
- {
- protected void Page_Load(object sender, EventArgs e)
- {
- if (!IsPostBack)
- {
- Label1.Text = "0";
- Timer1.Enabled = false;
- }
-
-
- }
- protected void Timer1_Tick(object sender, EventArgs e)
- {
- int i = (Convert.ToInt16(Label1.Text));
- i = i + 1;
- Label1.Text = i.ToString();
- }
- protected void Button1_Click(object sender, EventArgs e)
- {
- Timer1.Enabled = true;
- }
- protected void Button2_Click(object sender, EventArgs e)
- {
- Timer1.Enabled = false;
- }
- }
復制代碼 記錄一下!
(來自 ASP.NET應用開發(fā)實例教程 盧守東 清華大學出版社 附錄A 實驗指導 實驗七 第二個)
|