Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Code Behind JavaScript alert with redirecting

How do I make my JavaScript in code behind work when I redirect to another page after? I have a asp button control and when I click that button I want to alert, then navigate to another page. When I have a Response.Redirect in my code (before or after the JS code), none of the 8 tries work. When I comment that redirect out, a few (2,7 & 8) work.

//Try one
ScriptManager.RegisterStartupScript(this, GetType(), "test", "alert('test1');", true);

//Try two
ClientScript.RegisterClientScriptBlock(typeof(Page), "test", "test2");

//Try three
Page.ClientScript.RegisterStartupScript(this.GetType(), "CallMyFunction", "alertMessage()", true);

//Try four
ClientScript.RegisterStartupScript(GetType(), "CallMyFunction", "alertMessage()", true);

//Try five
ClientScript.RegisterStartupScript(GetType(), "CallMyFunction", "javascript: alertMessage(); ", true);

//Try six
ClientScript.RegisterClientScriptBlock(GetType(), "CallMyFunction", "<script>alert('test4')</script>");

//Try seven
Response.Write("<script>alert('test5');</script>");

//Try eight
string script = "alert('test6')";
ScriptManager.RegisterStartupScript(Page, Page.GetType(), "CallMyString", script, true);

response.redirect("pageUrlHere");
//With this code above, none of the js functions (alerts) work

//response.redirect("pageUrlHere");
//With this commented out, try 2, 7 and 8 work. 

JS function:

function alertMessage() {
    alert('test3');
}
like image 293
Niek Jonkman Avatar asked Dec 13 '13 09:12

Niek Jonkman


People also ask

How do I show alert before response redirect?

alert('Your Message');window. location='yourpage. aspx';</script>"); It will display pop up window message, then after redirect to another web page.

What we can use instead of alert in JavaScript?

Add hidden div aligned with your elements and show the message on hidden div's instead of alert box.


2 Answers

You can try the following:

ScriptManager.RegisterStartupScript(this,this.GetType(),"redirect",
"alert('test 9'); window.location='" + 
Request.ApplicationPath + "/anotherpage.aspx';",true);
like image 163
chridam Avatar answered Sep 23 '22 05:09

chridam


Try this it will display alert and navigate It make it in separate method just to reuse again.

    public void ShowAlertAndNavigate(string msg , string destination)
    {
        string alert_redirect_Script = string.Format(@"<script type=""text/javascript"">
                                       alert('{0}');
                                        window.location.href = destination;
                                       </script>", msg);
        ClientScript.RegisterClientScriptBlock(this.GetType(), "alertredirectscript",   alert_redirect_Script, false);
    }
like image 22
raza rabbani Avatar answered Sep 20 '22 05:09

raza rabbani