AsyncPostBackTriggerとPostBackTriggerの違いは何ですか?
デフォルトでは、UpdatePanel内のコントロールは部分的なページ更新を引き起こし、外部のコントロールはポストバックを引き起こします。これらのトリガーを使用すると、必要に応じてこの動作を変更できます。
From http://seminaarit.codezone.fi/video/devdays-2007/track1/2/2-ASP-dotNET_AJAX_Extensions.ppt :
ブログ投稿 は違いを説明しています:
更新パネルのテンプレートには、AsyncPostBackTriggerまたはPostBackTriggerのオプションがあります。
デフォルトでは、更新パネルの外側のコントロールは、通常の同期ポストバックをトリガーします。 AsyncPostBackTriggerはこれらのコントロールを「ワイヤリング」して、非同期ポストバックをトリガーします。逆に、更新パネル内で宣言されたコントロールは、デフォルトで非同期呼び出しをトリガーします。 PostBackTriggerはこれを短絡し、コントロールに強制的に同期ポストバックを実行させます。
1。AsyncPostBackTrigger
これは、ページの非同期ポストバックを強制するものです。つまり、AJAX方法です。データは完全なポストバックなしで処理されます。ログインなどの機能を使用している場合は、この。
例2つのドロップダウンViz。、CountriesおよびStatesがあります。国が選択されたときに州が読み込まれ、国の変更時に州が変更されます。
このシナリオではAsyncPostBackTriggerを使用できます。これにより、完全なポストバックなしで状態ddlが入力されます。
2。PostBackTrigger
これは、AJAXの機能には従いませんが、通常どおり(UpdatePanelを使用せずに)完全なポストバックを行います。)部分的なポストバックを強制したくない状況があります(上記のポイント1で説明されています)。
あなたが持っているようにFileUpload Control
UpdatePanelを使用して、AsyncPostBackでそれを行うと、サーバーに値を取得しません。フルポストバックが必要です。このような場合は、このトリガーを使用する必要があります。
Button1が更新パネルの内側にあり、Button2が更新パネルの外側にあるとします。ここで、更新パネルの外側にあるコントロールがAsyncpostbackを実行し、内側にあるコントロールがSyncpostbackを作成することを理解しましょう。
したがって、両方のボタンが更新パネルの内側のフォームButton1にあり、bUtton2はその外側にあるためです。そのため、例で示したように、Button2のIDとそのイベント名をAsyncpostbackトリガーに指定することで、Button1のようにupdatepanelで同期ポストバックを作成するとします。