使用母版頁的優點包括:

  • 允許您集中頁面的通用功能。
  • 允許您創建一個控件和代碼,並將結果應用於一組頁面。
  • 允許您控制最終頁面的佈局。
  • 允許您從各個內容頁面定制母版頁。

主版頁面

  • 母版頁定義為文件擴展名.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

發佈留言