web-dev-qa-db-ja.com

ASP.NETでリダイレクトする前のJavascriptアラート

更新パネルで更新中にメッセージを表示するために次のコードを使用しています

string jv = "alert('Time OutAlert');";
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "msg", jv, true);

それはうまくいきます。

しかし、リダイレクトを使用すると、メッセージが表示されずにページが読み込まれます。ユーザーにメッセージを表示してもらい、[OK]をクリックするとリダイレクトされます。

string jv = "alert('Time OutAlert');";
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "msg", jv, true);
Response.Redirect("~/Nextpage.aspx");
11
Rohit Chaudhari

Javascriptでアラートを表示してから、同じ方法でリダイレクトを実行します。

ScriptManager.RegisterStartupScript(this,this.GetType(),"redirect",
"alert('Time OutAlert'); window.location='" + 
Request.ApplicationPath + "Nextpage.aspx';",true);
28
Vishal Suthar

メッセージがクライアント側で実行されているため、これを行うことはできませんが、ページが読み込まれる前にコードビハインドでリダイレクトしてメッセージを表示します。

これを行う方法は、メッセージの直後にクライアント側が次のようにリダイレクトするように呼び出すことです。

window.location = "NextPage.asps";
3
Aristos

これは問題なく動作します

                string message = "Upadate Successfull !!";
                string url = "/Post.aspx";
                string script = "{ alert('";
                script += message;
                script += "');";
                script += "window.location = '";
                script += url;
                script += "'; }";
                ScriptManager.RegisterStartupScript(this.Page, Page.GetType(), "alert", script, true);
0
Ashish