在 ASP.NET Web Forms 中,母版页(Master Page)是一种用于定义网站整体布局和外观的特殊页面。母版页允许你创建一个共享的页面结构,然后在其上创建各个内容页面。以下是关于在 WebForms 中使用母版页的基本概念和示例:

1. 创建母版页:
   创建母版页就像创建一个普通的 ASP.NET 页面一样,但是你需要使用 <asp:ContentPlaceHolder> 标签标识出内容占位符,以便内容页面能够将内容插入到这些位置。
   <!-- Site.master -->
   <html>
   <head runat="server">
       <title>My Website</title>
   </head>
   <body>
       <form id="form1" runat="server">
           <div>
               <header>
                   <!-- 标识内容占位符 -->
                   <asp:ContentPlaceHolder ID="headContent" runat="server"></asp:ContentPlaceHolder>
               </header>
               <div>
                   <!-- 标识内容占位符 -->
                   <asp:ContentPlaceHolder ID="mainContent" runat="server"></asp:ContentPlaceHolder>
               </div>
               <footer>
                   <!-- 标识内容占位符 -->
                   <asp:ContentPlaceHolder ID="footerContent" runat="server"></asp:ContentPlaceHolder>
               </footer>
           </div>
       </form>
   </body>
   </html>

2. 创建内容页面:
   创建内容页面时,你需要指定使用的母版页,并在母版页的内容占位符中插入实际内容。
   <!-- ContentPage.aspx -->
   <%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeBehind="ContentPage.aspx.cs" Inherits="WebApplication.ContentPage" %>

   <asp:Content ID="headContent" ContentPlaceHolderID="headContent" runat="server">
       <!-- 在这里添加特定于内容页面的头部内容 -->
   </asp:Content>

   <asp:Content ID="mainContent" ContentPlaceHolderID="mainContent" runat="server">
       <h1>Welcome to My Website!</h1>
       <p>This is the main content of the page.</p>
   </asp:Content>

   <asp:Content ID="footerContent" ContentPlaceHolderID="footerContent" runat="server">
       <!-- 在这里添加特定于内容页面的页脚内容 -->
   </asp:Content>

   在上述示例中,MasterPageFile 属性指定了使用的母版页,并使用 <asp:Content> 标签将内容插入到相应的占位符中。

3. 共享样式和脚本:
   通过母版页,你可以轻松地在整个网站中共享样式和脚本。将样式表和脚本标识在母版页中,它们将被自动应用到所有内容页面。
   <!-- Site.master -->
   <html>
   <head runat="server">
       <title>My Website</title>
       <link href="Styles/Site.css" rel="stylesheet" type="text/css" />
       <script src="Scripts/Site.js" type="text/javascript"></script>
   </head>
   <!-- ... 省略其余代码 ... -->

   在这里,Styles/Site.css 和 Scripts/Site.js 是样式表和脚本的路径。

通过使用母版页,你可以实现整个网站的一致性外观,提高代码的可维护性。母版页允许你在所有页面之间共享通用元素,同时允许每个页面有自己的特定内容。


转载请注明出处:http://www.zyzy.cn/article/detail/14997/ASP.NET Web Forms