asp.net后台等待几秒执行程序或者跳转页面

下面是几种Asp.net后台cs中,几种让页面等待几秒或一定时间后,再执行下一步操作的方法:

1、Response对象跳出转向

代码:Response.Write( " <meta http-equiv= 'refresh ' content= '3;url=b.aspx '> ");

2、通过Thread方法

代码:System.Threading.Thread.Sleep(3000);

注:这种方法便捷,但不是很科学,它是使系统休眠一定时间

3、跳转函数

代码:ClientScript.RegisterClientScriptBlock(GetType(), "", "<script>alert(\'登录成功!\');setTimeout(function(){location.href='b.aspx'},3000);  </script>");

4、js函数

代码: 

protected void Button1_Click(object sender, EventArgs e)   {   form1.InnerHtml = "系统将在 3 秒后转向 ";   body.Attributes.Add("onload", "setTimeout('window.location=\"b.aspx\"',3000)");   }

 

下面是一个实例:(拷贝,可直接运行)

<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
  protected void Button1_Click(object sender, EventArgs e)   {   Page.ClientScript.RegisterStartupScript(Page.GetType(), "s", "t()", true);   } </script>
<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server">   <title></title>
  <script>   var tt = 3;   function t() {   if (tt < 1) {   window.location = "b.aspx"   return;   };   document.getElementById("<%=form1.ClientID %>").innerHTML = "操作完成,页面将在 " + tt + " 后转向";   tt--;   window.setTimeout("t()", 1000);   }   </script>
</head> <body>   <form id="form1" runat="server">   <div>   <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="点击测试" />   </div>   </form> </body> </html>

posted on 2013-08-30 11:44  冲刺  阅读(535)  评论(0)    收藏  举报

导航