7

以下は、マスター ページがコンテンツ ページとマージされるときにイベントが発生する順序です。

Content page PreInit event.
Master page controls Init event.
Content controls Init event.
Master page Init event.
Content page Init event.
Content page Load event.
Master page Load event.
Master page controls Load event.
Content page controls Load event.
Content page PreRender event.
Master page PreRender event.
Master page controls PreRender event.
Content page controls PreRender event.
Master page controls Unload event.
Content page controls Unload event.
Master page Unload event.
Content page Unload event.

PreInitしかし、マスター ページにイベントがないのはなぜASP.NETですか?

4

4 に答える 4

6

マスター ページは継承します。このクラスSystem.Web.UI.MasterPageの設計により、このMasterPageクラスにはそのようなPreInitイベントは定義されません。

マスター ページは、以下の階層に示すように Control クラスから派生します。

System.Object
  System.Web.UI.Control
    System.Web.UI.TemplateControl
      System.Web.UI.UserControl
        System.Web.UI.MasterPage

したがって、現在推測できるように、マスター ページは動作し、本質的にはコントロールのように扱われ、他の asp.net サーバー コントロールと同様のイベントを持ちます。

推奨される読み方の 1 つは ですthis

于 2013-12-24T12:16:07.680 に答える
1

Masterpage には PreInit メソッドがありません。

採用できる代替手段はいくつかあります。

1、継承する他のすべてのページに共通の基本ページ クラスを作成し、そのクラスにテーマ プロパティを設定します。 http://www.odetocode.com/Articles/450.aspx

于 2013-12-24T10:12:56.363 に答える