Ajax – UserControl with UpdatePanel programmatically create ScriptManager possible

ajaxasp.netscriptmanagerupdatepaneluser-controls

I'd like to use an UpdatePanel in my UserControl. The problem is the .aspx page the control is dropped on will NOT have a ScriptManager. I will need to create the ScriptManager in the UserControl. However if the UserControl is used, say twice on the page, then placing a ScriptManager won't work because you can only initialize ScriptManager once.

In other UserControls where I needed ScriptManager (I was using AJAX Toolkit Extensions) I was able to use this code:

protected override void OnInit(EventArgs e)
{
    base.OnInit(e);
    Page.Init += new EventHandler(Page_Init);
}

void Page_Init(object sender, EventArgs e)
{
    if (Page.Form != null && ScriptManager.GetCurrent(Page) == null)
        Page.Form.Controls.AddAt(0, new ScriptManager());
}

..worked great, but not for the UpdatePanel case.

Note, I am NOT using Master Pages

(Another approach I was thinking of, but can't figure out how to do, is to programmatically create the UserControl inside an UpdatePanel.)

Best Answer

I do not think this is possible. I have tried it several different ways. You might have to bite the bullet and put a scriptmanager in your page.

Related Topic