倒数数字

本文关键字:数字 倒数 | 更新日期: 2023-09-27 18:09:51

使用c#(没有Javascript),我想一个接一个地显示数字10到1。每个数字应显示10秒。

有谁能帮帮我吗?

问候,Vivek

倒数数字

您可以设置一个10秒的元刷新,每10秒刷新一次。您可以将数字放在查询字符串中,然后打印到页面上。

看一下定时器

  <asp:ScriptManager runat="server" id="ScriptManager1" />
<asp:Timer ID="Timer1" runat="server" Interval="10000" 
  OnTick="Timer1_Tick">
</asp:Timer>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
  <Triggers>
    <asp:AsyncPostBackTrigger ControlID="Timer1" 
        EventName="Tick" />
    </Triggers>
    <ContentTemplate>
      <asp:Label ID="Label1" runat="server" ></asp:Label>
  </ContentTemplate>
</asp:UpdatePanel>

背后的代码
int counter=1;
 protected void Timer1_Tick(object sender, EventArgs e)
        {
            Label1.Text =1++;
        }

查看更多信息:http://msdn.microsoft.com/en-us/library/bb398865.aspx

如果没有javascript(更新面板等),你可以重载一个线程睡眠延迟的页面:

string currentValue = Convert.ToString(Request.QueryString["val"]);
label.Text = currentValue;
if (Convert.ToInt32(currentValue) != 0)
{
    currentValue = Convert.ToString(Convert.ToInt32(currentValue) - 1);
    Thread.Sleep(10000);
    Response.Redirect("Default.aspx?val=" + currentValue);
}

然后加载一个querystring: Default.aspx?val=10

此处:

test.aspx.cs

protected void Page_Load(object sender, EventArgs e)
{
    string t = Request.Params["t"] ?? "10";
    string html = "<html><head><meta http-equiv='"refresh'" content='"10; url=http://localhost:3687/website/test.aspx?t=NEXT'"><head><body>NOW</body></html>";
    html = html.Replace("NOW", t);
    int next = (int.Parse(t) - 1);
    if (next == 0) next = 1;
    html = html.Replace("NEXT", next+"");
    Response.ContentType = "text/html";
    Response.Write(html);
    Response.End();
}

test.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="test" %>

正如@Mark Byers建议的那样,您可以使用元刷新…这是有效的。只需将html var中的http://localhost:3687/website/test.aspx更改为您的ASPX页面的URL。

因此,您只需要打开http://localhost:3687/website/test.aspx,这将生成具有下一个元刷新URL的页面,其参数t设置为下一个较低的值,以此类推,直到它达到1。