4

ユーザーがデータを入力できるフォームがあり、私が探している動作は送信後です。背後にあるコードはデータベースに書き込み、成功の応答をページに返します。私は現在このコードを機能させています。次に発生させたい項目は、成功したメッセージの後にリダイレクトすることですが、リダイレクトする前にユーザーが成功メッセージを確認できるように2〜3秒遅らせたいと思います。

動作:送信->成功メッセージの表示->3秒の遅延->リダイレクト

私は現在VBでこれを開発しています。ただし、VBまたはC#の例で問題ありません。これは従来のWebフォームです。

4

3 に答える 3

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);
}

幸運を!

于 2012-08-31T17:58:41.017 に答える
4

Thread.Sleep()メソッドを使用できます。Response.Redirectの前にこれを追加するだけです。

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

または、次のようにResponseヘッダーに遅延を追加することもできます

Response.AddHeader "REFRESH","3;URL=MyURL"

上記の数値は秒単位の遅延値です。

于 2012-08-31T16:33:46.070 に答える
2

htmlメタリフレッシュタグを使用できます

成功メッセージを含むページのヘッドセクションに次のタラを配置するだけです。

<meta http-equiv="refresh" content="3;URL='http://nextpageurlaftersuccess.com/'">
于 2012-08-31T16:33:59.917 に答える