2010-02-01 4 views
1

Je voudrais qu'un UpdatPanel mette à jour son contenu dès qu'un bouton est cliqué - ce bouton est contenu dans un UserControl placé sur la page Web.Déclenchement de UpdatePanel sur un bouton contenu dans un UserControl situé sur la page Web

Cependant, je ne peux pas simplement le référencer en utilisant la propriété ControlID d'AsyncPostBackTrigger, car le bouton n'est pas situé directement sur la page Web.

Y a-t-il un moyen de faire référence à AsyncPostBackTrigger?

Répondre

1

Utilisez RegisterAsyncPostbackControl, par ex. si vous avez un contrôle utilisateur UserControl1 contenant Button1 et votre gestionnaire de script est appelé ScriptManager1:

ScriptManager1.RegisterAsyncPostbackControl(UserControl1.FindControl("Button1")); 

Edit:

Réactualise tous les panneaux de mise à jour, à l'exception des panneaux qui ont leur propriété est définie sur conditionnelle. Pour ces panneaux, vous devez appeler le UpdatePanel.Update(); dans le code du bouton.

+0

Hmm pour lequel UpdatePanel (en supposant que j'ai plus d'une page, ce qui est le cas) cela enregistre-t-il le déclencheur? Il n'a aucun paramètre pour pointer vers le bon UpdatePanel, et il n'y a qu'un seul ScriptManager pour la page Web entière ... – Aaalf

+0

@Aaaalf: voir mon édition. – Residuum

0

L'utilisateur contrôle-t-il le bouton comme contrôle enfant? Si non, peut-il? Sinon, vous pouvez utiliser FindControl sur le contrôle utilisateur pour trouver le bouton intérieur.

Questions connexes