Reputation: 757
I am using following code to display message while updating in update panel
string jv = "alert('Time OutAlert');";
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "msg", jv, true);
It works fine.
But when I use Redirect after it it loads the page without displaying the message. I want user to see the message and after clicking on "ok" it should redirect.
string jv = "alert('Time OutAlert');";
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "msg", jv, true);
Response.Redirect("~/Nextpage.aspx");
Upvotes: 11
Views: 32927
Reputation: 1
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);
Upvotes: 0
Reputation: 17183
Display the alert with javascript and then do the redirect with the same:
ScriptManager.RegisterStartupScript(this,this.GetType(),"redirect",
"alert('Time OutAlert'); window.location='" +
Request.ApplicationPath + "Nextpage.aspx';",true);
Upvotes: 28
Reputation: 66641
You can not do that, the way you try because the message is running on the client side, but you make the redirect on code behind before the page loading to show the message.
The way to do that is to call right after the message a client side redirect as:
window.location = "NextPage.asps";
Upvotes: 3