Register Startup Script Method = script Manager Type.Get Method("Register Startup Script", New Type() )Client Script Proxy.With the script code missing the controls still work but exhibit some unexpected behaviors.
Yes, it would seem that Get Current() will be a better choice for making sure that a manager is active that way you won't have to go through Reflection when the manager is not on the form.
Nice idea Rick, but I suggest you use a context-singleton class for your proxy, or you'll risk to have double registered scripts (for example if the class is used in custom controls).
I just made another observation while peeking at Script Manager with Reflector; it actually register script blocks etc the regular way first (via Page.
Client Script) and then does some extra stuff only if a Script Manager exists on the page and Is In Async Post Back is true for it: Frederik - nice detetective work.
This is great - I just invented this myself only to find your post a bit later! Seems MS added support for Control or Page in each of them.
What worries me is this part of the code."Version=1.0.61025.0"Any objection to doing this? Here they all are, I'm sure you know where they go: Client Script Proxy.
A few small hiccups due to naming changes from Microsoft, but overall fairly straight forward. The new AJAX Script Manager can take either a Page object or a Control object for the first argument of Register Client Script Resource().
Hopefully there won't be any more breaking changes before release. (The other two arguments in both cases are type As System. Very sorry to keep adding like this, but you need to change the other Get Method()s as well.
I basically added a handful of the Client Script methods that I use in my applications.