使用母版頁的優點包括:
- 允許您集中頁面的通用功能。
- 允許您創建一個控件和代碼,並將結果應用於一組頁面。
- 允許您控制最終頁面的佈局。
- 允許您從各個內容頁面定制母版頁。
主版頁面
- 母版頁定義為文件擴展名.master。
- 母版頁繼承自MasterPage類。
- 母版頁包含一個@ Master指令。
- 母版頁使用ContentPlaceHolder控件來定義內容頁面的區域。
MasterPage和ContentPage範本
下面是一個主版頁面與內容頁面的範例:
檔案總管配置
Master Page 母頁
MasterPage.master
<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage" %> <!DOCTYPE html> <html> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> <asp:ContentPlaceHolder id="head" runat="server"> </asp:ContentPlaceHolder> </head> <body> <div style="background:#b6ff00"> 母版頁(Master Pages):Master Page 使您有能力為web 應用程序中的所有頁面(或頁面組)創建一致的外觀和行為。 </div> <form id="form1" runat="server"> <div> <asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server"> <div style="background:#ffd800"> 這是是放內容資料的,MasterPage這邊放任何程式會被清除 </div> </asp:ContentPlaceHolder> </div> </form> </body> </html>
Content Page 內容頁
Default.aspx
<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server"> </asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> <h2>這是內容頁面,</h2> <h2>Individual Content</h2> <p>Paragrap 1</p> <p>Paragrap 2</p> <asp:TextBox id="textbox1" runat="server" /> <asp:Button id="button1" runat="server" text="Button" /> </asp:Content>
範本結果
參考資料:
Master Page:http://vito-note.blogspot.com/2012/10/master-page.html
microsoft MasterPage.Master 屬性:https://docs.microsoft.com/zh-tw/dotnet/api/system.web.ui.masterpage.master?view=netframework-4.8