MasterPage クラスとは? わかりやすく解説

MasterPage クラス

メモ : このクラスは、.NET Framework version 2.0新しく追加されたものです。

Content コントロールおよびそれぞれのコントロールのみで構成されるページテンプレートおよびマージ コンテナとして機能します

名前空間: System.Web.UI
アセンブリ: System.Web (system.web.dll 内)
構文構文

解説解説

マスタ ページは、ASP.NET Web アプリケーションコンテンツ ページテンプレート コンテナおよびマージ ページとして機能しますマスタ ページ使用すると、一連のコンテンツ ページ全体構造および内容簡単に共有できますコンテンツ プレースホルダを使用してコンテンツ ページ内容置き換えるマスタ ページセクション定義します

マスタ ページおよび関連するコンテンツ ページ使用する場合必要な XHTML 文書タグ (htmlheadbody など) はマスタ ページのみに追加し、他の .aspx ファイル (ASP.NET ページ) をスタンドアロンWeb ページとして作成しません。コンテンツ ページには、マスタ ページのプレースホルダに挿入する内容定義します

実行時HTTP 要求が行われると、マスタ ページコンテンツ ページ結合されコンテンツ ページと同じ名前の単一クラス生成されます。結果として得られコンパイル済みマージされたクラスは、Page クラスから派生します。

マスタ ページには、直接的なマークアップサーバー コントロール、およびコンテナ コントロールを定義できますマスタ ページ内で ContentPlaceHolder コントロール外側にある各要素は、マスタ ページコンテンツ ページマージした結果生成されるすべてのページ表示されます。

マスタ ページ関連するコンテンツ ページは、@ Page ディレクティブMasterPageFile 属性マスタ ページ参照する必要がありますコンテンツ ページには、その @ Page ディレクティブ1 つ上の Content コントロールのみを定義できますページ テキストマークアップ、およびサーバー コントロールはすべて、Content コントロール内に配置する必要がありますContent コントロール関連付けられているマスタ ページContentPlaceHolder コントロール識別するには、Content コントロールの ContentPlaceHolderID プロパティ設定します

実行時に、要求されページの各 Content コントロール動的な内容マスタ ページマージされ、各コントロール関連する ContentPlaceHolder コントロール正確な場所に配置されます。マスタ ページ内のその他のマークアップおよびコントロール影響を受けません。イベント ハンドラは、マスタ クラスにもコンテンツ ページにも定義できます詳細については、「ASP.NETマスター ページコンテンツ ページイベント」を参照してください

MasterPage クラスは、.master 拡張子を持つファイル関連付けられています。これらのファイルは、実行時MasterPage オブジェクトとしてコンパイルされ、サーバー メモリキャッシュされます

コンテンツ ページマスタ ページ利用できるようにするには、Page 基本クラスMaster プロパティ使用しますMaster プロパティマスタ ページインスタンス返しますが、このインスタンスMasterPage 基本クラスとして型指定されています。マスタ ページコントロールプロパティ、および関数アクセスするために、Master プロパティMasterPageキャストできますマスタ ページクラス名は、@ Master ディレクティブClassName 属性使用して定義します

メモメモ

拡張子が .master のファイルブラウザには提供されません。

マスタ ページ有効なディレクティブUserControl オブジェクト使用できるディレクティブと同じであり、次の属性設定できます

マスタ ページディレクティブは、個別コンテンツ ページディレクティブオーバーライドしません。

通常マスタ ページ宣言によって作成されます。マスタ ページプログラムによって作成する場合は、MasterPage クラスから直接派生させますMasterPage クラス拡張することに加えて、.master ファイル作成してソース ファイル呼び出したクラス関連付けられているユーザー インターフェイス (UI) を視覚的に表示できるようにする必要があります

マスタ ページ詳細については、「ASP.NET マスター ページ概要」を参照してください

使用例使用例

このセクションには、4 つコード例含まれています。

宣言によってマスタ ページ作成しコンテンツ ページ使用してマスタ ページ内容追加する方法次のコード例示します最初Web ページは、MasterPageSample_1.master という名前の .master ページです。

<%@ Master Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html  >
<head runat="server">
    <title>MasterPage Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:contentplaceholder id="ContentPlaceHolder1" runat="server"
 />
    </div>
    </form>
</body>
</html>
<%@ Master Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML
 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html  >
<head runat="server">
    <title>MasterPage Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:contentplaceholder id="ContentPlaceHolder1"
 runat="server" />
    </div>
    </form>
</body>
</html>

MasterPageSample_1.master関連付けられているコンテンツ ページを表すコード例次に示します。このコード例には、Content コントロール含まれており、ContentPlaceHolderID プロパティ使用して内容関連付けられている ContentPlaceHolder コントロール指定してます。

<%@ Page Language="C#" MasterPageFile="~/MasterPageSample_1cs.master"
 Title="Content Page"%>

<asp:content 
    runat="server"
    contentplaceholderid="ContentPlaceHolder1" >Hello, Master Pages!</asp:content>
<%@ Page Language="VB" MasterPageFile="~/MasterPageSample_1vb.master"
 Title="Content Page"%>

<asp:content 
    runat="server"
    contentplaceholderid="ContentPlaceHolder1" >Hello,
 Master Pages!</asp:content>

マスタ ページプロパティ追加する方法次のコード例示しますClassName 属性使用してマスタ ページの名前を指定してます。

<%@ Master Language="C#" ClassName="MasterExample" %>

<script runat="server">
        public string SiteName
        {
            get { return "My Site Name";
 }
        }
</script>

<html  >
<head runat="server">
    <title>MasterPage Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:contentplaceholder id="ContentPlaceHolder1" runat="server">
        </asp:contentplaceholder>
    </div>
    </form>
</body>
</html>
<%@ Master Language="VB" ClassName="MasterExample"
 %>

<script runat="server">
  Public ReadOnly Property
 SiteName() As String
    Get
      Return "My Site Name"
    End Get
  End Property

</script>

<html  >
<head runat="server">
    <title>MasterPage Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:contentplaceholder id="ContentPlaceHolder1"
 runat="server">
        </asp:contentplaceholder>
    </div>
    </form>
</body>
</html>

コンテンツ ページ使用して前述コード例マスタ ページSiteName パブリック プロパティアクセスする方法次のコード例示します

<%@ Page Language="C#" MasterPageFile="~/MasterPage.master"
 Title="MasterPage Example" %>

<script runat="server">
  protected void Page_Load(object sender, EventArgs
 e)
  {
    MasterExample m = (MasterExample)Page.Master;
    mylabel.Text = m.SiteName;
  }
</script>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1"
 runat="Server">
    Hello, Master Pages!
    <asp:Label runat="server" Text="Label" ID="mylabel"></asp:Label>
</asp:Content>
<%@ Page Language="VB" MasterPageFile="~/MasterPage.master"
 Title="MasterPage Example" %>

<script runat="server">

  Protected Sub Page_Load(ByVal
 sender As Object, ByVal
 e As System.EventArgs)
    Dim m As MasterExample = CType(Page.Master,
 MasterPage)
    mylabel.Text = m.SiteName
  End Sub
</script>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1"
 runat="Server">
    Hello, Master Pages!
    <asp:Label runat="server" Text="Label"
 ID="mylabel"></asp:Label>
</asp:Content>
.NET Framework のセキュリティ.NET Frameworkセキュリティ
継承階層継承階層
System.Object
   System.Web.UI.Control
     System.Web.UI.TemplateControl
       System.Web.UI.UserControl
        System.Web.UI.MasterPage
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照


このページでは「.NET Framework クラス ライブラリ リファレンス」からMasterPage クラスを検索した結果を表示しています。
Weblioに収録されているすべての辞書からMasterPage クラスを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からMasterPage クラス を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「MasterPage クラス」の関連用語

MasterPage クラスのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



MasterPage クラスのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS