提交,显示结果,延迟3秒并重定向

时间:2012-08-31 16:28:11

标签: c# asp.net .net webforms

我有一个表单,用户可以在其中输入数据,我正在寻找的行为是在提交之后,后面的代码写入数据库并返回页面成功的响应。我目前有这个代码工作。我想要发生的下一个项目是在成功消息之后重定向但是我想延迟2或3秒,允许用户在重定向之前看到成功消息。

行为:提交 - >显示成功消息 - >延迟3秒 - >重定向

我目前正在用VB开发它;但我对VB或C#中的示例都很好。这是一种传统的网络形式。

3 个答案:

答案 0 :(得分:5)

您可以使用Thread.Sleep()方法。只需在Response.Redirect之前添加它,即

System.Threading.Thread.Sleep(3000);
Response.Redirect("MyURL");

或者,您可以像这样

在Response头中添加延迟
Response.AddHeader "REFRESH","3;URL=MyURL"

上面的数字表示延迟值,以秒为单位。

答案 1 :(得分:5)

我喜欢这种方法,虽然已经提出的一些方法非常好:

protected void Button1_Click(object sender, EventArgs e)
{
    ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "success", "alert('Submitted Successfully.'); setInterval(function(){location.href='http://www.google.com';},3000);", true);
}
祝你好运!

答案 2 :(得分:2)

您可以使用html meta refresh标记

只需将以下鳕鱼放在包含成功消息的页面的head部分中。

<meta http-equiv="refresh" content="3;URL='http://nextpageurlaftersuccess.com/'">