ASP.NET Web フォーム - マスター ページ
ASP.NET マスター ページを使用して、アプリケーション内のページに一貫したレイアウトを作成します。マスター ページは、Web サイト上の他のページ用のテンプレートを提供します。
マスターページ
マスター ページを使用すると、Web アプリケーション内のすべてのページ (またはページのグループ) に一貫した外観と動作を作成できます。
マスター ページは、共有のレイアウトと機能を備えた他のページ用のテンプレートを提供します。マスター ページは、コンテンツ ページによってオーバーライドできるコンテンツのプレースホルダーを定義します。出力はマスター ページとコンテンツ ページの組み合わせです。
コンテンツ ページには、表示するコンテンツが含まれています。
ユーザーがコンテンツ ページを要求すると、ASP.NET はページを結合して、マスター ページのレイアウトとコンテンツ ページのコンテンツを組み合わせた出力を生成します。
マスターページの例
<%@ Master %><html><body><h1>マスターページの標準ヘッダー</h1><asp:ContentPlaceHolder id="CPH1" runat="server"></asp:ContentPlaceHolder></body></ html>上記のマスター ページは、他のページ用に設計されたプレーン HTML テンプレート ページです。
@Masterディレクティブは、マスター ページとして定義します。
マスター ページには、個々のコンテンツのプレースホルダー タグ<asp:ContentPlaceHolder>が含まれています。
id="CPH1"属性はプレースホルダーを識別し、同じマスター ページ内で複数のプレースホルダーを許可します。
このマスター ページは、 「master1.master」として保存されます。
注: マスター ページにはコードを含めることもでき、動的なコンテンツを可能にします。
コンテンツページの例
<%@ Page MasterPageFile="master1.master" %><asp:Content ContentPlaceHolderId="CPH1" runat="server"><h2>個別のコンテンツ</h2><p>段落 1</p><p>段落2</p></asp:コンテンツ>上記のコンテンツ ページは、サイト内の独立したコンテンツ ページの 1 つです。
@Pageディレクティブは、それを標準コンテンツ ページとして定義します。
コンテンツ ページには、マスター ページ (ContentPlaceHolderId="CPH1") を参照するコンテンツ タグ<asp:Content>が含まれています。
このコンテンツ ページは、 「mypage1.aspx」として保存されます。
ユーザーがページを要求すると、ASP.NET はマスター ページとコンテンツ ページをマージします。
注: コンテンツ テキストは <asp:Content> タグ内にある必要があります。タグの外にあるコンテンツ テキストは許可されません。
コントロールを含むコンテンツ ページ
<%@ ページ MasterPageFile="master1.master" %><asp:Content ContentPlaceHolderId="CPH1" runat="server"><h2>W3CSchool</h2><form runat="server"><asp:TextBox id= "textbox1" runat="server" /><asp:Button id="button1" runat="server" text="Button" /></form></asp:Content>上記のコンテンツ ページは、通常のページに .NET コントロールを挿入するのと同じように、コンテンツ ページに .NET コントロールを挿入する方法を示しています。
上記は、インターフェイス設計のモジュール化をうまく実装し、コードの再利用を実現する ASP.NET マスター ページに関するコンテンツです。