您的位置:首页 > 编程语言 > ASP

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

2012-01-07 23:20 337 查看
下面是几种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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: