Un peu d’info sur la propriété ChildrenAsTriggers des UpdatePanel car j’avais mal compris son fonctionnement
Ce que j’en pensais :
- A true (valeur par défaut): tous les contrôles enfants de l’UpdatePanel font des AsyncPostBack et par conséquent un rafraichissement de celui-ci.
- A false: tous les contrôles enfants de l’UpdatePanel font des PostBack classiques (sauf ceux pour lesquels un AsyncPostBackTrigger est explicitement défini).
Mais c’est complètement faux !
En réalité, le fait qu’un contrôle fasse un AsyncPostBack et que l’UpdatePanel se rafraichisse sont 2 choses différentes. La propriété ChildrenAsTriggers permet uniquement de spécifier si les contrôles enfants rafraichissent l’UpdatePanel lors de leur AsyncPostBack.
=> Mettre cette propriété à false est donc uniquement utile lorsqu’on souhaite envoyer des informations au serveur sans rien attendre en retour ; ou encore si le rafraichissement de l’UpdatePanel est optionnel (auquel cas on peut appeler sa méthode Update() côté serveur).
Pour plus d’information sur l’UpdatePanel et ses propriétés Triggers, ChildrenAsTriggers, UpdateMode et RenderMode, je vous conseille cet article.