How Master Pages and Content Pages Are Connected : Master page « Development « ASP.NET Tutorial






A master page starts with a Master directive that specifies the same information.

<%@ Master Language="C#" 
           AutoEventWireup="true" 
           CodeFile="Default.master.cs"
           Inherits="SiteTemplate" %>
           
The ContentPlaceHolder is like any ordinary control. 

<%@ Master Language="C#" 
           AutoEventWireup="true" 
           CodeFile="Default.master.cs"
           Inherits="SiteTemplate" %>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
><br />
<asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
<i>This is a simple footer.</i>
</form>
</body>
</html>

ASP.NET links your page to the master page with attribute named MasterPageFile

<%@ Page Language="C#" 
         MasterPageFile="~/Default.master"
         AutoEventWireup="true" 
         CodeFile="SimpleContentPage.aspx.cs"
         Inherits="SimpleContentPage" 
         Title="Untitled Page" %>
         
path ~/ is to specify the root website folder. 
The Page directive has another new attribute Title. 
Title attribute overrides the title specified in the master page.
The content page cant define anything provided in the master page,
  including the <head> section, 
  the root <html> element, 
  the <body> element, and so on. 
  
The content page supply a Content tag that corresponds to the ContentPlaceHolder in the master page. 

<%@ Page Language="C#" 
         MasterPageFile="~/Default.master"
         AutoEventWireup="true" 
         CodeFile="SimpleContentPage.aspx.cs"
         Inherits="SimpleContentPage" 
         Title="Content Page" %>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
<br />
    Here's some new content!
<br />
</asp:Content>

ContentPlaceHolderID attribute in the <Content> tag must match the ContentPlaceHolder specified in the master page exactly.








9.35.Master page
9.35.1.What is a Master page
9.35.2.How Master Pages and Content Pages Are Connected
9.35.3.A Master Page enables you to share the same content among multiple content pages.
9.35.4.Dynamically change master page
9.35.5.Table layout master page
9.35.6.Simplest Master page
9.35.7.Multipart master page
9.35.8.Master page with default content
9.35.9.Change master page in page init event
9.35.10.Nesting Master Pages
9.35.11.Deal with the relative path between master page and content page
9.35.12.Using the Title Attribute
9.35.13.Using the Page Header Property
9.35.14.Modifies the Master Page tags (the tags used by search engines when indexing a page).
9.35.15.Exposing Master Page Properties
9.35.16.Modify a control in a Master Page by using the FindControl() method in a content page.
9.35.17.Associate different Master Pages dynamically with a content page
9.35.18.Loading Master Pages Dynamically for Multiple Content Pages