1

以下のようなセッション状態の値を使用してコントロールを初期化する従来の方法-

if (!IsPostBack)
        {
            if (Session["sessionId"] != null)
            {
                //initialize controls
            }
        }

ユーザーコントロールが更新パネル内にラップされている場合、予期しない動作を示します。

セッション状態から初めてusercontroltextBox値を入力する必要があります。そして、これらのコントロール値のその後のロードは、viewStateから入力する必要があります。

このシナリオをどのように処理しますか。Page.IsAsyncがこれに役立つと思いますか?

4

1 に答える 1

1

IsPostbacktrueUpdatePanelに配置された、コントロールからポストバックが実行された場合でも、プロパティが返されます。したがってIsPostBack、最初のページの読み込み時に初期化するコントロールにプロパティを使用しても問題ありません。

ちなみに、Page.IsAsyncプロパティは、非同期のポストバックを検出するためではなく、まったく異なる目的で機能します。UpdatePanelから非同期ポストバックを検出する必要がある場合は、ScriptManager.IsInAsyncPostBackプロパティを確認してください

于 2012-09-20T19:23:21.587 に答える