views:

547

answers:

2

I'm trying to run javascript once an update panel has refreshed. I've read a few places that you can use code similar to this:

function codeToRun() {
    //Code Here
}

Sys.WebForms.PageRequestManager.getInstance().add_endRequest(codeToRun);

But it doesn't seem to be working... any ideas? I've tried putting the code inside the Content area of the update panel as well as outside of it... haven't had any luck so far. Please let me know if you have any insight to why this might be happening.

Thanks,
Matt

A: 

The call to System.WebForms.PageRequestManager should come after the library has been included and initialized, but probably not inside the UpdatePanel.

Rex M
How do you include and initialize it?
Matt
@Matt it is included when you add the ScriptManager and UpdatePanels to the page - they won't work without them, so that's an easy way to verify they are there :). They're usually near the top of the `<body>` tag.
Rex M
+1  A: 

Everything needs to be outside of the UpdatePanel:

Markup:

<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>

Script:

if( typeof(Sys) != "undefined" )
{
    prm = Sys.WebForms.PageRequestManager.getInstance();       
    Sys.WebForms.PageRequestManager.getInstance().add_initializeRequest(initRequestHandler);     
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequestHandler);   
}
else
{
    //we have a problem with ScriptManager
}
rick schott