web-dev-qa-db-ja.com

AsyncPostBackTriggerとPostBackTriggerの違いは何ですか?

AsyncPostBackTriggerとPostBackTriggerの違いは何ですか?

24
vmahdavi

デフォルトでは、UpdatePanel内のコントロールは部分的なページ更新を引き起こし、外部のコントロールはポストバックを引き起こします。これらのトリガーを使用すると、必要に応じてこの動作を変更できます。

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

AsyncPostBackTrigger

  • ポストバックを非同期コールバックに変換します
  • 通常、UpdatePanel外のコントロールがポストバックしたときに更新をトリガーするために使用されます
  • ChildrenAsTriggers = "false"の場合、UpdatePanel内のどのコントロールがポストバックではなくコールバックするかを指定するために使用できます

PostBackTrigger

  • UpdatePanel内のコントロールをポストバックできます。
  • 通常、ChildrenAsTriggers = "true"のときに特定のコントロールがポストバックできるようにするために使用されます
10
Paul McCowat

ブログ投稿 は違いを説明しています:

更新パネルのテンプレートには、AsyncPostBackTriggerまたはPostBackTriggerのオプションがあります。

デフォルトでは、更新パネルの外側のコントロールは、通常の同期ポストバックをトリガーします。 AsyncPostBackTriggerはこれらのコントロールを「ワイヤリング」して、非同期ポストバックをトリガーします。逆に、更新パネル内で宣言されたコントロールは、デフォルトで非同期呼び出しをトリガーします。 PostBackTriggerはこれを短絡し、コントロールに強制的に同期ポストバックを実行させます。

10
Darin Dimitrov

1。AsyncPostBackTrigger

これは、ページの非同期ポストバックを強制するものです。つまり、AJAX方法です。データは完全なポストバックなしで処理されます。ログインなどの機能を使用している場合は、この。

例2つのドロップダウンViz。、CountriesおよびStatesがあります。国が選択されたときに州が読み込まれ、国の変更時に州が変更されます。

このシナリオではAsyncPostBackTriggerを使用できます。これにより、完全なポストバックなしで状態ddlが入力されます。

2。PostBackTrigger

これは、AJAXの機能には従いませんが、通常どおり(UpdatePanelを使用せずに)完全なポストバックを行います。)部分的なポストバックを強制したくない状況があります(上記のポイント1で説明されています)。

あなたが持っているようにFileUpload Control UpdatePanelを使用して、AsyncPostBackでそれを行うと、サーバーに値を取得しません。フルポストバックが必要です。このような場合は、このトリガーを使用する必要があります。

6
user4197921

Button1が更新パネルの内側にあり、Button2が更新パネルの外側にあるとします。ここで、更新パネルの外側にあるコントロールがAsyncpostbackを実行し、内側にあるコントロールがSyncpostbackを作成することを理解しましょう。

したがって、両方のボタンが更新パネルの内側のフォームButton1にあり、bUtton2はその外側にあるためです。そのため、例で示したように、Button2のIDとそのイベント名をAsyncpostbackトリガーに指定することで、Button1のようにupdatepanelで同期ポストバックを作成するとします。

1
ankit paul