Page.ClientScript.RegisterStartupScript doesn't work - why?

asp.net, c#, registerstartupscript

Solution

Try this:

ScriptManager.RegisterStartupScript(this, typeof(string), "Error", 
    "alert('hi');", true);

The issue is that on some pages you might have declared a `ScriptManager`. Only one `ScriptManager` is allowed per page so you have to use the existing `ScriptManager` to register any scripts.

Note that the `RegisterStartupScript` is a static method; do not call it on the instance of your `ScriptManager` (it will cause a compile error in C# but only a warning in VB.NET).

This link has a bit more info on this issue.

Problem

i have some code in OnInit hanlder ``` if (!Page.ClientScript.IsStartupScriptRegistered(GetType(), "MyScript")) { Page.ClientScript.RegisterStartupScript(GetType(), "MyScript", GetStartupScript(), true); } ``` here i try to register some java script code. and i want it to work on button click event. but it doesn't execute. it executes only after refreshing page. can anyone explain me why it doesn't execute? thnx in advance!

Original source