倒数

时间:2011-09-28 12:28:44

标签: c# asp.net countdown

使用C#(无Javascript)我想一个接一个地显示数字10到1。每个号码应显示10秒钟。

任何人都可以提供帮助。

此致 的Vivek

4 个答案:

答案 0 :(得分:4)

你可以进行10秒的元刷新,每10秒刷新一次。您可以将数字放在查询字符串中并将其打印到页面中。

答案 1 :(得分:2)

看一下Timer

  <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

答案 2 :(得分:2)

如果没有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);
}

通过使用查询字符串加载页面来解决问题:Default.aspx?val=10

答案 3 :(得分:0)

下面:

<强> 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建议的那样,你可以使用元刷新......它的确有效。只需将http://localhost:3687/website/test.aspx var中的html更改为ASPX页面的网址即可。

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