ASP.NET Web Forms - マスターページ


マスターページは、あなたのWebサイトの他のページにテンプレートを提供します。


マスターページ

マスターページを使用すると、Webアプリケーション内のすべてのページ(またはページグループ)に対して一貫した外観と動作を作成できます。

マスターページは、共有のレイアウトと機能を備えたテンプレートを他のページに提供します。マスターページは、コンテンツページによって上書きできるプレースホルダーをコンテンツ用に定義します。出力は、マスターページとコンテンツページを組み合わせたものになります。

コンテンツページには、表示したいコンテンツが含まれます。

ユーザーがコンテンツページを要求すると、ASP.NET はページを結合して、マスターページのレイアウトとコンテンツページのコンテンツを組み合わせた出力を生成します。


マスターページのインスタンス

<%@ Master %>

<html>
<body>
<h1>Standard Header From Masterpage</h1>
<asp:ContentPlaceHolder id="CPH1" runat="server">
</asp:ContentPlaceHolder>
</body>
</html>

上記のマスターページは、他のページ用に設計された通常の HTML テンプレートページです。

@ Masterディレクティブは、これをマスターページとして定義します。

マスターページには、個別のコンテンツ用のプレースホルダータグが含まれています。<asp:ContentPlaceHolder>。

id="CPH1"属性はプレースホルダーを識別し、同じマスターページ内で複数のプレースホルダーを許可します。

このマスターページは、次のように保存されます:"master1.master"。

lamp注:マスターページはコードを含むこともでき、動的なコンテンツを可能にします。


コンテンツページのインスタンス

<%@ Page MasterPageFile="master1.master" %>

<asp:Content ContentPlaceHolderId="CPH1" runat="server">
<h2>Individual Content</h2>
<p>Paragraph 1</p>
<p>Paragraph 2</p>
</asp:Content>

上記のコンテンツページは、サイト内の独立したコンテンツページの1つです。

@ Pageディレクティブは、これを標準のコンテンツページとして定義します。

コンテンツページには、コンテンツタグが含まれています。<asp:Content>、このタグはマスターページ(ContentPlaceHolderId="CPH1")を参照します。

このコンテンツページは、次のように保存されます:"mypage1.aspx"。

ユーザーがそのページを要求すると、ASP.NET はマスターページとコンテンツページを結合します。

lamp注:コンテンツテキストは <asp:Content> タグの内側に配置する必要があります。タグの外側のコンテンツテキストは許可されません。


コントロールを含むコンテンツページ

<%@ Page MasterPageFile="master1.master" %>

<asp:Content ContentPlaceHolderId="CPH1" runat="server">
<h2>サンプル</h2>
<form runat="server">
<asp:TextBox id="textbox1" runat="server" />
<asp:Button id="button1" runat="server" text="Button" />
</form>
</asp:Content>

上記のコンテンツページは、通常のページに挿入するのと同じように、.NET コントロールをコンテンツページに挿入する方法を示しています。


その他の拡張機能