倒数数字
本文关键字:数字 倒数 | 更新日期: 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。