web-dev-qa-db-fra.com

Quelle est la différence entre AsyncPostBackTrigger et PostBackTrigger?

Quelle est la différence entre AsyncPostBackTrigger et PostBackTrigger?

24
vmahdavi

Les contrôles à l'intérieur d'un UpdatePanel provoquent par défaut une mise à jour partielle de la page, les contrôles à l'extérieur provoquent une publication, en utilisant ces déclencheurs, il est possible de modifier ce comportement si nécessaire.

De http://seminaarit.codezone.fi/video/devdays-2007/track1/2/2-ASP-dotNET_AJAX_Extensions.ppt :

AsyncPostBackTrigger

  • Convertit les publications en rappels asynchrones
  • Généralement utilisé pour déclencher des mises à jour lorsque les contrôles en dehors d'un post UpdatePanel reviennent
  • Si ChildrenAsTriggers = "false", peut être utilisé pour spécifier quels contrôles dans UpdatePanel doivent rappeler plutôt que publier

PostBackTrigger

  • Laisse les contrôles à l'intérieur du post UpdatePanel.
  • Généralement utilisé pour autoriser la publication de certains contrôles lorsque ChildrenAsTriggers = "true"
10
Paul McCowat

Voici un article de blog qui explique la différence:

Dans le modèle d'un panneau de mise à jour, il existe les options d'un AsyncPostBackTrigger ou d'un PostBackTrigger.

Par défaut, les contrôles en dehors d'un panneau de mise à jour déclenchent un retour synchrone normal. L'AsyncPostBackTrigger "connecte" ces contrôles pour déclencher un retour asynchrone. Inversement, les contrôles déclarés dans un panneau de mise à jour déclenchent par défaut un appel asynchrone. Le PostBackTrigger court-circuite cela et force le contrôle à effectuer un post synchrone.

10
Darin Dimitrov

1. AsyncPostBackTrigger

c'est celui qui applique le post asynchrone au dos de la page .., c'est-à-dire la manière AJAX. Les données seront traitées sans le post complet. Lorsque vous utilisez des fonctionnalités comme la connexion, vous pouvez utiliser ce.

Ex. Vous rencontrez deux dropDowns, à savoir les pays et les États. les états doivent être chargés lorsqu'un pays est sélectionné et il doit être modifié lors du changement de pays.

Vous pouvez utiliser AsyncPostBackTrigger dans ce scénario, qui remplira les états ddl sans retour complet.

2. PostBackTrigger

C'est celui qui ne suit pas les fonctionnalités AJAX, mais le post complet de retour comme d'habitude (comme sans utiliser UpdatePanel). Les situtions sont là où vous ne souhaitez pas appliquer le retour partiel (comme expliqué au point 1. ci-dessus).

Comme si vous aviez FileUpload Control avec le UpdatePanel et lorsque vous le faites par AsyncPostBack, vous n'obtiendrez aucune valeur au serveur. Il nécessite Full PostBack. dans ce cas, vous devez utiliser ce déclencheur.

6
user4197921

Supposons que Button1 se trouve dans votre panneau de mise à jour et Button2 en dehors du panneau de mise à jour. Maintenant, comprenons que les contrôles qui sont en dehors du panneau de mise à jour font un Asyncpostback et qui sont à l'intérieur créent un Syncpostback.

Donc, comme les deux boutons sont sur un formulaire Button1 dans le panneau de mise à jour et que bUtton2 est à l'extérieur. Donc, en passant, en donnant l'ID du Button2 et son nom d'événement au déclencheur Asyncpostback comme indiqué dans l'exemple, nous supposons qu'il va maintenant créer un syncpostback avec le panneau de mise à jour comme le Button1.

1
ankit paul