在論壇中,常常會看到30秒後才能按的按鈕,這個功能可以透過Ajax快速完成
在論壇中,常常會看到30秒後才能按的按鈕,最近在藍色小舖上有人詢問此問題,這個按鈕其實可以透過Ajax的Timer來做到,以下為程式碼
01 <html xmlns="http://www.w3.org/1999/xhtml">
02 <head id="Head1" runat="server">
03 <title></title>
04 </head>
05 <body>
06 <form id="form1" runat="server">
07 <asp:ScriptManager ID="ScriptManager1" runat="server">
08 </asp:ScriptManager>
09 <asp:UpdatePanel ID="UpdatePanel1" runat="server">
10 <ContentTemplate>
11 <asp:Button ID="Button1" runat="server" Enabled="False" Text="30" OnClick="Button1_Click" />
12 </ContentTemplate>
13 <Triggers>
14 <asp:AsyncPostBackTrigger ControlID="Timer1" />
15 </Triggers>
16 </asp:UpdatePanel>
17 <div>
18 </div>
19 <asp:Timer ID="Timer1" runat="server" Interval="1000" ontick="Timer1_Tick">
20 </asp:Timer>
21 </form>
22 </body>
23 </html>
02 {
03 protected void Page_Load(object sender, EventArgs e)
04 {
05
06 }
07 protected void Timer1_Tick(object sender, EventArgs e)
08 {
09 if (Button1.Text != "0")
10 {
11 Button1.Text = (int.Parse(Button1.Text) - 1).ToString();
12 }
13 else
14 {
15 Button1.Enabled = true;
16 Button1.Text = "確定";
17 Timer1.Enabled = false;
18 }
19 }
20 protected void Button1_Click(object sender, EventArgs e)
21 {
22 Response.Redirect("http://www.dotblogs.com.tw/chou/Default.aspx");
23 }
24 }
執行結果