0

我有一个 asp.net 页面,其中有一个标签,其中有一个数字(60)必须每秒减少。当数字达到 0 时,它必须弹出一条消息。

我搜了一下,找到了一些定时器代码,试图理解,但不是很清楚。

我有一个想法,但不知道如何实现。

“最初标签设置为 60,每间隔 (1000) 60 减一。如果标签值达到 0,则显示警报或消息,并将标签文本重置为 60”。

如果您有任何其他想法或方法来实现这一点,请分享..

4

2 回答 2

1

这将帮助您:

C# 代码

protected void Page_Load(object sender, System.EventArgs e)
{
   int i = 0;
   int loopval = 0;

   Timer1.Enabled = true;
   Timer1.Interval = 1000;
   i = 0;
   loopval = Convert.ToDouble(Label1.Text);
      while (!(i >= loopval)) {
           Label1.Text = (Convert.ToDouble(Label1.Text) - 1);
           i = i + 1;
      }
   interaction.MsgBox("Display your message here");
   Timer1.Enabled = false;
}

VB代码

 Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    Dim i, loopval As Integer
    Timer1.Enabled = True
    Timer1.Interval = 1000
    i = 0
    loopval = CDbl(Label1.Text)
         Do Until i >= loopval
            Label1.Text = (CDbl(Label1.Text) - 1)
            i = i + 1
         Loop
    MsgBox("Display your message here")
    Timer1.Enabled = False
 End Sub

不要忘记在计时器控件对象之前添加ScriptManager控件。

如果您遇到任何错误/问题,请告诉我。

于 2013-05-08T05:54:50.470 回答
0

已尝试 n 已测试:我采用了 3 秒的时间间隔。

.aspx 页面代码:

 <%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default2.aspx.vb" Inherits="Default2" %>
 <!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:Label ID="Label1" runat="server" Text="5"></asp:Label>
 <asp:Timer ID="Timer1" runat="server">
 </asp:Timer>
 <asp:ScriptManager ID="ScriptManager1" runat="server">
 </asp:ScriptManager>
 <asp:Button ID="Button1" runat="server" Text="Button" />
 <div>
 </div>
 </form>
 </body>
 </html>

VB.code

Partial Class Default2
Inherits System.Web.UI.Page
Dim i As Integer
Dim loopval As Integer

Protected Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    i = loopval - CDbl(Label1.Text)
    If i <> loopval Then
        Label1.Text = (CDbl(Label1.Text) - 1)
    Else
        MsgBox("display your message here")
        Timer1.Enabled = False
    End If

End Sub

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
    Timer1.Enabled = True
    Timer1.Interval = 3000
    loopval = CDbl(Label1.Text)
End Sub
End Class

希望对你有帮助 :)

于 2013-05-08T11:07:20.850 回答