Listing 1: Sample Master Page(Sample.master)
<%@ Master Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<script runat="server">
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:contentplaceholder id="ContentPlaceHolder1" runat="server">
</asp:contentplaceholder>
</div>
</form>
</body>
</html>
Listing 2: Sample Content Page (SampleContent.aspx)
<%@ Page Language="C#" MasterPageFile="~/Sample.master" Title="Untitled Page"%>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="server">
</asp:Content>
Listing 3: Master Page code (MyMaster1.master)
<%@ Master Language="C#" CompileWith="MyMaster1.master.cs" ClassName="MyMaster1_master" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Master Page</title>
</head>
<body>
<form id="form1" runat="server">
<table width="100%">
<tr>
<td colspan="2">
<img style="width: 743px; height: 53px" src="toppic.jpg" />
</td>
</tr>
<tr>
<td style="height: 13px" align="center" colspan="2">
<b>Welcome to the world of Master Pages</b></td>
</tr>
<tr>
<td align="center">
<asp:ContentPlaceHolder ID="ContentPlaceHolder1"
Runat="server"></asp:ContentPlaceHolder>
</td>
<td align="center">
<asp:ContentPlaceHolder ID="ContentPlaceHolder2"
Runat="server"></asp:ContentPlaceHolder>
</td>
</tr>
<tr>
<td align="center" colspan="2">
Copyright John Doe 2004</td>
</tr>
</table>
</form>
</body>
</html>
Listing 4: Mark up of the Content Page (MyContentPage.aspx)
<%@ Page Language="C#" MasterPageFile="~/MyMaster1.master"
CompileWith="MyContentPage.aspx.cs" ClassName="MyContentPage_aspx" Title="Untitled Page" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="server">
This is from Content 1</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder2" Runat="server">
This is from Content 2
</asp:Content>
Listing 5: Parent master page(ParentMaster.master)
<%@ Master Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div><b>This is from the Parent Master </b><br />
<asp:contentplaceholder id="ContentPlaceHolder1" runat="server">
</asp:contentplaceholder>
</div>
</form>
</body>
</html>
Listing 6: Child master page (ChildMaster.master)
<%@ Master Language="C#" MasterPageFile="~/ParentMaster.master"%>
<asp:Content ContentPlaceHolderID="ContentPlaceHolder1" runat="server" >
This is from the child master<br />
<asp:contentplaceholder id="ChildContentPlaceHolder1" runat="server">
</asp:contentplaceholder>
</asp:Content>
Listing 7: Content Page (NestedMasterPages.aspx)
<%@ Page Language="C#" MasterPageFile="~/ChildMaster.master" Title="Untitled Page"%>
<asp:Content ID="Content1" ContentPlaceHolderID="ChildContentPlaceHolder1" Runat="server">
This is from Content Page<br/></asp:Content>
Listing 8: Master page used (AccessMasterProperties.master)
<%@ Master Language="C#" ClassName="AccessMasterProperties_master" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Master Page</title>
</head>
<script runat ="server">
public string LabelText
{
set
{
Label2.Text = value;
}
}
</script>
<body>
<form id="form1" runat="server">
<table width="100%">
<tr><td colspan="2">
<img style="width: 743px; height: 53px" src="toppic.jpg" /></td> </tr>
<tr><td style="height: 13px" align="center" colspan="2">
<b>Welcome to the world of Master Pages</b></td>
</tr><tr>
<td align="center" style="height: 221px">
<asp:ContentPlaceHolder ID="ContentPlaceHolder1"
Runat="server"></asp:ContentPlaceHolder>
</td>
<td align="center" style="height: 221px">
<asp:ContentPlaceHolder ID="ContentPlaceHolder2"
Runat="server"></asp:ContentPlaceHolder>
</td></tr>
<tr><td align="center" colspan="2">
<asp:Label ID="Label1" Runat="server" Text="Label"></asp:Label></td></tr>
<tr><td align="center" colspan="2">
<asp:Label ID="Label2" Runat="server"
Text="Label"></asp:Label></td></tr>
<tr><td align="center" colspan="2">
Copyright John Doe 2004</td></tr>
</table>
</form>
</body>
</html>
Listing 9: Content page used to access master page controls (AccessMasterPage_Content.aspx)
<%@ Page Language="C#" MasterPageFile="~/AccessMasterProperties.master"
ClassName="AccessMasterPage_Content_aspx" Title="Untitled Page" %>
<%@ MasterType VirtualPath="~/AccessMasterProperties.master" %>
<script runat="server" >
void Page_Load(object sender, EventArgs e)
{
//Accessing the master page properties Approach 1
Master.LabelText = "Set from content page using Early binding";
//Accessing the master page Approach 2
Label myLabel = (Label) Master.FindControl("Label1");
myLabel.Text = "Set from content page using Late binding";
}
</script>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="server">
This is from Content 1</asp:Content>
Listing 10: Dynamically changing the master page (DynamicMaster.aspx)
<%@ Page Language="C#" Title="Untitled Page"%>
<script runat="server">
void Page_PreInit(Object sender, EventArgs e)
{
if(Request["Mast"]!=null)
MasterPageFile =Request["Mast"];
else
MasterPageFile = "~/MasterPage1.master";
}
void Button1_Click(object sender, EventArgs e)
{
Response.Redirect(Request.Path + "?Mast=" + MasterDDL.SelectedItem.Value);
}
</script>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1"
Runat="server">
<asp:Label id=Label1 runat="server" Text="Select the Master Page" Font-Bold="True"></asp:Label>
<asp:DropDownList id=MasterDDL runat="server"><asp:ListItem Value="~/MasterPage1.master">MasterPage1</asp:ListItem>
<asp:ListItem Value="~/MasterPage2.master">MasterPage2</asp:ListItem>
</asp:DropDownList>
<asp:Button id=Button1 runat="server" Text="Button" OnClick="Button1_Click">
</asp:Button>
</asp:content>
Listing 11 A:Content page with device specific masterpages (DeviceSpecificContent.aspx)
<%@ Page Language="C#" Mozilla:MasterPageFile="~/MozillaMasterPage.master"
ie:MasterPageFile="~/MyIEMasterPage.master" Title="Untitled Page"%>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="server">
This is from the Content Page
</asp:Content>