在開發多人協作的畢業專題或企業專案時,網站往往包含數十甚至上百個頁面。若每個頁面都獨立編寫頁首、頁尾、選單等共用版面,不僅開發效率低,後期維護更是噩夢。ASP.NET 母版頁 讓你定義一次版面架構,所有內容頁自動套用,修改母版頁即可同步更新全站版面。
Site.Master,點擊「新增」<asp:ContentPlaceHolder> 元素


ContentPlaceHolder 是內容頁可替換的區塊。將網站共用的版頭、導航列、版權區等固定內容直接寫在母版頁中,僅保留主要內容區域為預留位置:
<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
<!-- 子頁面獨有內容將插入此處 -->
</asp:ContentPlaceHolder>



Site.Master<asp:Content> 標籤,對應母版頁的 ContentPlaceHolder<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApp.Default" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"></asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<h2>歡迎來到首頁</h2>
<p>這裡是內容頁的獨特內容...</p>
</asp:Content>

ContentPlaceHolder(如 head、ContentPlaceHolder1),分別對應不同區塊<asp:Content> 區塊內的內容,母版頁的固定區域不可修改兩者互補:母版頁定義「結構框架」(版面配置、共用元件),佈景主題定義「視覺風格」(色彩、字型、樣式)。就像 PPT 的「投影片母版」搭配「佈景主題」,一個管架構,一個管美觀。
掌握母版頁是 ASP.NET Web Forms 開發的基本功,能讓你專注於業務邏輯而非重複排版。建議搭配《ASP.NET 母版頁基礎知識介紹》一起學習,深入理解 @Master 指令、巢狀母版頁、動態切換母版頁等進階技巧。