ASP.NET 2.0 - 母版页(Master Pages)

母版页(Master Pages)为网站内的其他页面提供模版。

母版页(Master Pages)

Master Page 使您有能力为 web 应用程序中的所有页面(或页面组)创建一致的外观和行为。

Master Page 为其他页面提供了模版,带有共享的布局和功能。Master Page 为内容定义了可被内容页面覆盖的占位符。而输出结果就是 Master Page 和内容页面的组合。

内容页包含您希望显示的内容。

当用户请求内容页时,ASP.NET 会对页面进行合并以生成输出,输出结果对 Master Page 的布局和内容页面的内容进行了合并。

Master Page 实例:

  1. <%@ Master %>
  2.  
  3. <html>
  4. <body>
  5. <h1>Standard Header For All Pages</h1>
  6.  
  7. <asp:ContentPlaceHolder id="CPH1" runat="server">
  8. </asp:ContentPlaceHolder>
  9.  
  10. </body>
  11. </html>

Master Page 是一张为其他页面设计的普通 HTML 模版页。

@ Master 指令把它定义为一张 master page。

这个 master page 为单独的内容包含了一个占位符标签 <asp:ContentPlaceHolder>

id="CPH1" 属性标识该占位符,在相同的 master page 中允许多个占位符。

该 master page 被保存为 "master1.master"

注释:该 master page 也能够包含代码,允许动态的内容。

内容页实例:

  1. <%@ Page MasterPageFile="master1.master" %>
  2.  
  3. <asp:Content ContentPlaceHolderId="CPH1" runat="server">
  4.  
  5. <h2>Individual Content</h2>
  6. <p>Paragrap 1</p>
  7. <p>Paragrap 2</p>
  8.  
  9. </asp:Content>

上面的内容页是独立的内容页面之一。

@ Page 指令把它定义为一张标准的内容页面。

该内容页面包含了一个内容标签<asp:Content>,该标签引用了母版页(ContentPlaceHolderId="CPH1")。

该内容页被保存为 "mypage1.aspx"

当用户请求该页面时,ASP.NET 就会将母版页与内容页进行合并。

注释:内容文本必须位于 <asp:Content> 标签内。该标签外的文本是不被允许的。

带有控件的内容页

  1. <%@ Page MasterPageFile="master1.master" %>
  2.  
  3. <asp:Content ContentPlaceHolderId="CPH1" runat="server">
  4.  
  5. <h2>jishuchi</h2>
  6. <form runat="server">
  7. <asp:TextBox id="textbox1" runat="server" />
  8. <asp:Button id="button1" runat="server" text="Button" />
  9. </form>
  10. </asp:Content>

上面的内容页演示了如何把 .NET 控件插入内容页,就像插入一个普通的页面中。