ネストされたASP.NETコントロールページ
2643 ワード
制御ページはネストされて使用できます.すなわち、1つの制御ページで他の制御ページを参照できます.ネストされた制御ページを使用すると、構造化された制御ページを作成できます.たとえば、大規模なWebサイトには、Webサイトの外観を定義するグローバル制御ページが含まれている場合があります.次に、異なるWebサイトの欄の内容に対して異なるサブコントロールページを定義し、グローバルWebサイトのコントロールページを参照して、Webサイトの欄の内容を外観定義します.
いずれの制御ページと同様に、サブ制御ページファイルの拡張子も.master.サブコントロール・ページには、通常、コンテンツ・ディスペンサーにマッピングされたコンテンツ・コントロールが含まれます.このような関係の下で、サブ制御ページは、任意のコンテンツページのように表示することができる.ただし、サブ制御ページは、同様に独自のコンテンツプレースホルダを有し、サブページにコンテンツ表示を提供する.次の例に示す3つのページは、ネストされた制御ページ間の関係を説明します.
次の例のコードは、親制御ページファイルです.
次の例のコードは、サブコントロールページファイルです.
次の例のコードは、サブコントロール・ページを参照するコンテンツ・ページ・ファイルです.
いずれの制御ページと同様に、サブ制御ページファイルの拡張子も.master.サブコントロール・ページには、通常、コンテンツ・ディスペンサーにマッピングされたコンテンツ・コントロールが含まれます.このような関係の下で、サブ制御ページは、任意のコンテンツページのように表示することができる.ただし、サブ制御ページは、同様に独自のコンテンツプレースホルダを有し、サブページにコンテンツ表示を提供する.次の例に示す3つのページは、ネストされた制御ページ間の関係を説明します.
次の例のコードは、親制御ページファイルです.
<% @ Master Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML
1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<body>
<form id="Form1" runat="server">
<div>
<h1> </h1>
<p>
<font color="red"> 。</font>
</P>
<asp:ContentPlaceHolder ID="MainContent" runat="server" />
</div>
</form>
</body>
</html>
次の例のコードは、サブコントロールページファイルです.
<%@ Master Language="C#" master="Parent.master"%>
<asp:Content id="Content1" ContentPlaceholderID="MainContent" runat="server">
<asp:panel runat="server" id="panelMain" backcolor="lightyellow">
<h2> </h2>
<asp:panel runat="server" id="panel1" backcolor="lightblue">
<p> 。</p>
<asp:ContentPlaceHolder ID="Content1" runat="server" />
</asp:panel>
<asp:panel runat="server" id="panel2" backcolor="pink">
<p> 。</p>
<asp:ContentPlaceHolder ID="Content2" runat="server" />
</asp:panel>
</asp:panel>
</asp:Content>
次の例のコードは、サブコントロール・ページを参照するコンテンツ・ページ・ファイルです.
<%@ Page Language="C#" master="Child.Master"%>
<asp:Content id="Content1" ContentPlaceholderID="Content1" runat="server">
<asp:Label runat="server" id="Label1"
text=" 1" font-bold="true" />
<br>
</asp:Content>
<asp:Content id="Content2" ContentPlaceholderID="Content2" runat=server>
<asp:Label runat="server" id="Label2"
text=" 2" font-bold=true/>
</asp:Content>