ViewState は、LoadViewSate メソッドの InitComplete イベントと Preload イベントの間で使用できることを知っています。同様に、どのページ ライフサイクル イベントで特定のページのマスター ページを割り当てることができるか知りたいですか?
2 に答える
マスター ページとコンテンツ ページはページ処理の初期化段階で結合されるため、それ以前にマスター ページを割り当てる必要があります。通常、PreInit 段階で動的にマスター ページを割り当てます。
イベントPage PreInit
時
void Page_PreInit(Object sender, EventArgs e)
{
this.MasterPageFile = "~/MyMaster.master";
}
From: ASP.NET ページのライフ サイクルの概要
ページ イベント
典型的な使用
PreInit
開始ステージが完了した後、初期化ステージが開始する前に発生します。このイベントは、次の目的で使用します。
IsPostBack プロパティをチェックして、ページが初めて処理されるかどうかを判断します。この時点で、IsCallback および IsCrossPagePostBack プロパティも設定されています。
- 動的コントロールを作成または再作成します。
- マスター ページを動的に設定します。
- Theme プロパティを動的に設定します。
- プロファイル プロパティ値の読み取りまたは設定。
注 要求がポストバックの場合、コントロールの値はまだビュー ステートから復元されていません。この段階でコントロール プロパティを設定すると、次のイベントでその値が上書きされる可能性があります。
From:マスターページを動的にアタッチする
マスター ページを ( で) 宣言的に指定するだけでなく、マスター@ Page directive or in the configuration file
ページをコンテンツ ページに動的にアタッチすることもできます。マスター ページとコンテンツ ページはページ処理の初期化段階で結合されるため、それ以前にマスター ページを割り当てる必要があります。通常、次の例のように、 PreInit段階でマスター ページを動的に割り当てます。
void Page_PreInit(Object sender, EventArgs e)
{
this.MasterPageFile = "~/DefaultMaster.master";
}
編集:
ソース: ASP.NET マスター ページ - マスター ページ
のしくみ @Page ディレクティブを使用して、マスター ページを指定することもできます。
<% @ Page Language="C#" MasterPageFile="~/Master.master" Title="Content Page 1" %>