Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Execute javascript function after asp.net postback without Ajax

Tags:

I wish to execute a javascript function after asp.net postback with out using ajax.

I've tried the following in my even method with no luck:

Page.ClientScript.RegisterStartupScript(GetType(), "ShowPopup", "showCheckOutPopIn('Livraison',556);");
like image 822
Alexandre Brisebois Avatar asked Nov 26 '08 15:11

Alexandre Brisebois


2 Answers

You should rather use the ScriptManager class, since the Page.ClientScript property is deprecated...

The ClientScriptManager class is new in ASP.NET 2.0 and replaces Page class methods for managing scripts that are now deprecated.
Reference: MSDN - Page.ClientScript Property

The advantage with ScriptManager is that it works with asynchronous postbacks, so if you are using AJAX it will not work with the ClientScriptManager.

Your code would look like this:

ScriptManager.RegisterStartupScript(this, this.GetType(), "ShowPopup", "showCheckOutPopIn('Livraison',556);", true);

Note also that if you are using AJAX and have a piece of javascript code, that you want executed on multiple postbacks, then you should refer to your UpdatePanel in the firstargument e.g.:

ScriptManager.RegisterStartupScript(MainUpdatePanel, typeof(string), "ShowPopup", "showCheckOutPopIn('Livraison',556);", true);
like image 124
reSPAWNed Avatar answered Oct 11 '22 18:10

reSPAWNed


Solution

I needed to add the script tags using the following overload.

Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "script", "alert('Success!');", true);

Found : Re: execute javascript after postback

like image 31
Alexandre Brisebois Avatar answered Oct 11 '22 17:10

Alexandre Brisebois