4

ViewState は、LoadViewSate メソッドの InitComplete イベントと Preload イベントの間で使用できることを知っています。同様に、どのページ ライフサイクル イベントで特定のページのマスター ページを割り当てることができるか知りたいですか?

4

2 に答える 2

7

マスター ページとコンテンツ ページはページ処理の初期化段階で結合されるため、それ以前にマスター ページを割り当てる必要があります。通常、PreInit 段階で動的にマスター ページを割り当てます。

イベントPage PreInit

void Page_PreInit(Object sender, EventArgs e)
{
    this.MasterPageFile = "~/MyMaster.master";
}

プログラムによる ASP.NET マスター ページの操作を参照してください

于 2013-04-15T14:17:55.653 に答える
3

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" %>
于 2013-04-15T14:23:10.530 に答える