0

セッション オブジェクトを使用して、ユーザー アクションに基づいて成功/エラー メッセージを保存しています。

各ポストバックで、メッセージは ItemCommend に設定され、マスター ページの Page_Load で取得されます。メッセージが取得されると、セッションから削除されます。

問題は、ItemCommand が呼び出される前にマスター ページの Page_Load が呼び出されるため、次の更新またはポストバックまでメッセージが表示されないことです。

この状況は通常どのように処理されますか? コーディングできる他のイベントはありますか?

4

3 に答える 3

2

これは、aspxおよびマスターページの通常の動作です。まず、マスターページのページロードが実行された後、コンテンツページのページロードが実行され、次に他のすべてのクリックなどが実行されます。

PageLoad Completeイベントを使用して、問題を解決できます。

于 2012-06-17T09:21:31.227 に答える
1

これは正常な動作です。メッセージを表示するitemcommandまたはPage_prerender

于 2012-06-17T09:13:27.407 に答える
0

次のように、マスター ページのコード ビハインドでパブリック メソッドを作成します。

 public void Set_Value(String SessionValue)
   {
      //your code here
   }

コンテンツ ページの aspx ファイルで、次のコード行を使用します。

  <%@ MasterType VirtualPath="~/MasterPage.master" %>

コンテンツ ページのコード ビハインドでは、任意のコントロールのアイテム イベントでマスター ページのメソッドを簡単に呼び出すことができます。マスター ページのメソッドで、必要なコードを記述して値を更新および表示できます。

次のように、コンテンツ ページでマスター ページのメソッドを呼び出します。

  this.Master.Set_Value(Session["abc"].ToString());
于 2012-06-17T11:46:24.820 に答える