ASP.NET 2.0 - 母版页(Master Pages)
- 前のページ WebForms データベース接続
- 次のページ WebForms ナビゲーション
母版页(Master Pages)为网站内的其他页面提供模版。
母版页(Master Pages)
Master Page 使您有能力为 web 应用程序中的所有页面(或页面组)创建一致的外观和行为。
Master Page 为其他页面提供了模版,带有共享的布局和功能。Master Page 为内容定义了可被内容页面覆盖的占位符。而输出结果就是 Master Page 和内容页面的组合。
内容页包含您希望显示的内容。
当用户请求内容页时,ASP.NET 会对页面进行合并以生成输出,输出结果对 Master Page 的布局和内容页面的内容进行了合并。
Master Page 实例:
<%@ Master %> <html> <body> <h1>Standard Header For All Pages</h1> <asp:ContentPlaceHolder id="CPH1" runat="server"> </asp:ContentPlaceHolder> </body> </html>
Master Page 是一张为其他页面设计的普通 HTML 模版页。
@ Master 指令把它定义为一张 master page。
这个 master page 为单独的内容包含了一个占位符标签 <asp:ContentPlaceHolder>。
id="CPH1" 属性标识该占位符,在相同的 master page 中允许多个占位符。
このマスターページは以下のように保存されています "master1.master"。
注記:このマスターページにはコードも含まれており、動的な内容を許可しています。
コンテンツページの例:
<%@ Page MasterPageFile="master1.master" %> <asp:Content ContentPlaceHolderId="CPH1" runat="server"> <h2>個別の内容</h2> <p>パラグラフ 1</p> <p>パラグラフ 2</p> </asp:Content>
上記のコンテンツページは独立した内容ページの1つです。
@ Page 指令それを標準の内容ページとして定義します。
このコンテンツページには内容タグが含まれています<asp:Content>、このタグはマスターページを参照しています(ContentPlaceHolderId="CPH1")。
このコンテンツページは以下のように保存されています "mypage1.aspx"。
ユーザーがこのページをリクエストした場合、ASP.NET はマスターページとコンテンツページをマージします。
注記:コンテンツテキストは <asp:Content> タグ内に位置する必要があります。タグ外のテキストは許可されていません。
コントロールを持つコンテンツページ
<%@ Page MasterPageFile="master1.master" %> <asp:Content ContentPlaceHolderId="CPH1" runat="server"> <h2>W3School</h2> <form runat="server"> <asp:TextBox id="textbox1" runat="server" /> <asp:Button id="button1" runat="server" text="ボタン" /> </form> </asp:Content>
上記のコンテンツページは、.NET コントロールをコンテンツページに挿入する方法を示しています。これは通常のページに挿入するのと同じです。
- 前のページ WebForms データベース接続
- 次のページ WebForms ナビゲーション