在ASP.NET Web Pages中,母版页(Master Page)是一种可以定义网站共同外观和布局的特殊页面。母版页允许你创建一个包含通用元素(例如页眉、页脚、菜单等)的模板,然后在内容页中引用该模板。以下是一个简单的示例,演示如何在WebForms中使用母版页。

1. 创建母版页: 创建一个包含母版页布局的文件,例如 Site.master。这个文件通常包含整个网站的共同元素。
   <!-- Site.master -->

   <!DOCTYPE html>
   <html lang="en">
   <head runat="server">
       <meta charset="utf-8" />
       <title>My Web Site</title>
       <asp:ContentPlaceHolder runat="server" ID="head">
       </asp:ContentPlaceHolder>
   </head>
   <body>
       <header>
           <h1>My Web Site</h1>
           <nav>
               <!-- 共同菜单或导航链接 -->
               <ul>
                   <li><a href="#">Home</a></li>
                   <li><a href="#">About</a></li>
                   <li><a href="#">Contact</a></li>
               </ul>
           </nav>
       </header>
       <div id="mainContent" runat="server">
           <asp:ContentPlaceHolder runat="server" ID="MainContent">
           </asp:ContentPlaceHolder>
       </div>
       <footer>
           <!-- 共同页脚内容 -->
           &copy; 2023 My Web Site
       </footer>
   </body>
   </html>

2. 创建内容页: 创建一个内容页,例如 Default.cshtml,并指定它的母版页。
   <!-- Default.cshtml -->

   @page
   @{

       Layout = "~/Site.master";
   }

   <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
       <!-- 在母版页的<head>中添加的内容 -->
       <meta name="description" content="Welcome to my website!" />
   </asp:Content>

   <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
       <!-- 内容页特定的内容 -->
       <h2>Welcome to My Web Site</h2>
       <p>This is the home page of my website.</p>
   </asp:Content>

在上述代码中,Layout 指定了使用的母版页,而 ContentPlaceHolder 则用于定义母版页中的占位符,这样内容页中的内容就可以插入到母版页的相应位置。

这个简单的示例演示了如何使用母版页创建具有共同布局和外观的ASP.NET Web Pages。根据实际需求,你可以在母版页和内容页中添加更多的元素和样式。




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