UserControl avec UpdatePanel créer par programmation ScriptManager possible?

Je voudrais utiliser un UpdatePanel dans mon UserControl. Le problème est la .page aspx le contrôle est tombé sur n'aura PAS de ScriptManager. J'ai besoin de créer le ScriptManager dans le contrôle UserControl. Toutefois, si le contrôle UserControl est utilisé, dire deux fois sur la page, puis en plaçant un ScriptManager ne fonctionnera pas parce que vous ne pouvez initialiser ScriptManager une fois.

Dans d'autres UserControls où j'avais besoin d'ScriptManager (j'ai été en utilisant AJAX Toolkit Extensions), j'ai été en mesure d'utiliser ce 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());
}

..très travaillé, mais pas pour l'UpdatePanel cas.

Remarque, je ne suis PAS à l'aide de Pages Maîtres

(Une autre approche que je pensais, mais ne peut pas comprendre comment le faire, est de créer par programme le UserControl à l'intérieur d'un UpdatePanel.)

  • Juste un côté pas, le code est un peu "double". Vous substituez la méthode OnInit et ajouter une Init de Gestionnaire d'Événements. Il suffit de placer le code dans Page_Init dans le substituée OnInit?
InformationsquelleAutor Darrell | 2009-07-09