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 实例:

<%@ 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>Paragrap 1</p>
<p>Paragrap 2</p>
</asp:Content>

الصفحة المحتوية المقدمة هي واحدة من الصفحات المحتوية المستقلة.

تعليمات @ Pageتعريفها كصفحة محتوى قياسية

تتضمن هذه الصفحة المحتوية علامة محتوى واحدة<asp:Content>، والذي يشير إلى نموذج الصفحة (ContentPlaceHolderId="CPH1").

تم حفظ هذه الصفحة المحتوية ك "mypage1.aspx".

عند طلب المستخدم لهذه الصفحة، يقوم ASP.NET بدمج صفحة النموذج بصفحة المحتوى.

انقر هنا لعرض mypage1.aspx.

ملاحظة:يجب أن تكون النصوص الخاصة بالمحتوى في داخل علامة <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="Button" />
</form>
</asp:Content>

صفحة المحتوى العلوية تظهر كيفية إدراج عنصر .NET في صفحة المحتوى، مثل إدراج صفحة عادية.

انقر هنا لعرض mypage2.aspx.