2010-07-09 4 views
1

Je charge dynamiquement un User Control, avec un Update Panel à l'intérieur d'un Place Holder.UserControl, PlaceHolder et UpdatePanel sur PostBack

Lorsque je clique sur un bouton de la User Control, devrait actualiser les Update Panel contenu, mais il rafraîchir la page entière à la place, et l'utilisateur contrôle est en train de disparaître de la page, parce que Page_Load de la page ne charge rien si c'est un PostBack.

Comment puis-je résoudre ce problème?

Répondre

0

Je pense que vous devrez réinjecter le contrôle dans page_load ou pre_render. Les contrôles créés de manière dynamique ne passent pas par la publication.

0

Assurez-vous que vous créez la commande TOUTES les demandes de page, indépendamment de GET/POST. Assurez-vous également de lui donner le même identifiant. Je souhaite substituer la méthode CreateChildControls.

2

Chaque fois qu'une publication partielle ou complète se produit, la méthode update() de tous les panneaux de mise à jour est automatiquement activée. Pour éviter un tel comportement, vous devez définir la propriété UpdateMode="Conditional". Dans cette situation, vous devez spécifier asynchronous trigger ou ChildrenAsTriggers=true.

pour empêcher un usercontrol chargé dynamiquement être disparaître, il est bon de le sauvegarder dans ViewState, Here is a tutorial and sample application

0

Vous devez ajouter la page de contrôle à la page dans la méthode Page_Init. Il doit être ajouté à chaque publication. Le contrôle conservera toutes les valeurs même après l'avoir ajouté.

There is a full working example at this link.

Questions connexes