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.pingtaimeng.com/article/detail/14997/ASP.NET Web Forms