ASP.Net/User Control and Master Page/Master page

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

Содержание

A content page that can work with more than one master page

   <source lang="csharp">

<%@ Page Language="VB" MasterPageFile="~/Default.master"

      Mozilla:MasterPageFile="~/MyMozilla.master"
      Opera:MasterPageFile="~/MyOpera.master" %>
   

<asp:Content ID="Content1" ContentPlaceHolderId="ContentPlaceHolder1"

 Runat="server">
   Hello World

</asp:Content>

</source>
   
  


A master page that creates a GUID on the first request (C#)

   <source lang="csharp">

<%@ Page Language="C#" MasterPageFile="~/Default.master" Title="Untitled Page" %> <script runat="server">

   protected void Page_LoadComplete(object sender, EventArgs e)
   {
       Label1.Text = (Master.FindControl("Label1") as Label).Text;
   }
   protected void Button1_Click(object sender, EventArgs e)
   {
       Label2.Text = "Hello " + TextBox1.Text + "!";
   }

</script> <asp:Content ID="Content1" ContentPlaceHolderId="ContentPlaceHolder1" Runat="server">

   Your GUID number from the master page is:
<asp:Label ID="Label1" Runat="server" />

Enter your name:
<asp:Textbox ID="TextBox1" Runat="server" /> <asp:Button ID="Button1" Runat="server" Text="Submit" OnClick="Button1_Click" />

<asp:Label ID="Label2" Runat="server" /> </asp:content> <asp:Content ID="Content2" ContentPlaceHolderId="ContentPlaceHolder2" Runat="server"> <asp:Image ID="Image1" Runat="server" ImageUrl="http://www.nfex.ru/style/logo.png" /> </asp:Content> File: Default.master <%@ Master Language="C#" %> <script runat="server"> protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { Label1.Text = System.Guid.NewGuid().ToString(); } } </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server"> <title>My Company Master Page</title> </head> <body> <form id="form1" runat="server">

My Company Home Page

                   User"s GUID:  
                       <asp:Label ID="Label1" Runat="server" />
                   <asp:ContentPlaceHolder ID="ContentPlaceHolder1" 
                    Runat="server">
                   </asp:ContentPlaceHolder>
                   <asp:ContentPlaceHolder ID="ContentPlaceHolder2" 
                    Runat="server">
                   </asp:ContentPlaceHolder>
                   Copyright 2006 - My Company
   </form>

</body> </html>

</source>
   
  


A master page that creates a GUID on the first request (VB)

   <source lang="csharp">

<%@ Page Language="VB" MasterPageFile="~/Default.master" %> <script runat="server" language="vb">

   Protected Sub Page_LoadComplete(ByVal sender As Object, _
      ByVal e As System.EventArgs)
       Label1.Text = CType(Master.FindControl("Label1"), Label).Text
   End Sub
 
   Protected Sub Button1_Click(ByVal sender As Object, _
      ByVal e As System.EventArgs)
       Label2.Text = "Hello " & TextBox1.Text & "!"
   End Sub

</script> <asp:Content ID="Content1" ContentPlaceHolderId="ContentPlaceHolder1" Runat="server">

   Your GUID number from the master page is:
<asp:Label ID="Label1" Runat="server" />
Enter your name:
<asp:Textbox ID="TextBox1" Runat="server" /> <asp:Button ID="Button1" Runat="server" Text="Submit" OnClick="Button1_Click" />
<asp:Label ID="Label2" Runat="server" />

</asp:content> <asp:Content ID="Content2" ContentPlaceHolderId="ContentPlaceHolder2" Runat="server">

       <asp:Image ID="Image1" Runat="server" ImageUrl="http://www.nfex.ru/style/logo.png" />

</asp:Content>

File: Default.master <%@ Master Language="VB" %> <script runat="server">

   Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)     
       If Not Page.IsPostBack Then
           Label1.Text = System.Guid.NewGuid().ToString()
       End If
   End Sub

</script> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">

   <title>My Company Master Page</title>

</head> <body>

   <form id="form1" runat="server">
                   User"s GUID:
                   <asp:Label ID="Label1" Runat="server" />
                   <asp:ContentPlaceHolder ID="ContentPlaceHolder1" Runat="server"/>
                   <asp:ContentPlaceHolder ID="ContentPlaceHolder2" Runat="server"/>
                   Copyright 2006 - My Company
   </form>

</body> </html>

</source>
   
  


A master page that exposes a custom property (C#)

   <source lang="csharp">

<%@ Page Language="C#" MasterPageFile="~/Default.master" %> <%@ MasterType VirtualPath="~/Default.master" %> <script runat="server">

   protected void Page_Load(object sender, EventArgs e)
   {
       Master.PageHeadingTitle = "My Company ?Division X";
   }

</script> <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"/> <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder2" Runat="Server"/> File: Default.master <%@ Master Language="C#" %>

<script runat="server">

   protected void Page_Load(object sender, EventArgs e)
   {
       if (!Page.IsPostBack)
       {
           Label1.Text = System.Guid.NewGuid().ToString();
       }
   }
   string m_PageHeadingTitle = "My Company";
   public string PageHeadingTitle
   {
       get
       {
           return m_PageHeadingTitle;
       }
       set
       {
           m_PageHeadingTitle = value;
       }
   }

</script> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">

   <title>My Company Master Page</title>

</head> <body>

   <form id="Form1" runat="server">

<%= PageHeadingTitle%>

                   User"s GUID:
                       <asp:Label ID="Label1" Runat="server" />
                   <asp:ContentPlaceHolder ID="ContentPlaceHolder1" Runat="server"/>
                   <asp:ContentPlaceHolder ID="ContentPlaceHolder2" Runat="server"/>
                   Copyright 2004 - My Company
   </form>

</body> </html>

</source>
   
  


A master page that exposes a custom property (VB)

   <source lang="csharp">

<%@ Page Language="VB" MasterPageFile="~/Default.master" %> <%@ MasterType VirtualPath="~/Default.master" %> <script runat="server" language="vb">

   Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
       Master.PageHeadingTitle = "My Company"
   End Sub

</script> <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"/> <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder2" Runat="Server"/> File: Default.master <%@ Master Language="VB" %> <script runat="server">

   Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)     
       If Not Page.IsPostBack Then
           Label1.Text = Guid.NewGuid().ToString()
       End If
   End Sub
   
   Dim m_PageHeadingTitle As String = "My Company"
   
   Public Property PageHeadingTitle() As String
       Get
           Return m_PageHeadingTitle
       End Get
       Set(ByVal Value As String)
           m_PageHeadingTitle = Value
       End Set
   End Property

</script> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">

   <title>My Company Master Page</title>

</head> <body>

   <form id="Form1" runat="server">

<%= PageHeadingTitle %>

                   User"s GUID:  
                       <asp:Label ID="Label1" Runat="server" />
                   <asp:ContentPlaceHolder ID="ContentPlaceHolder1" 
                    Runat="server">
                   </asp:ContentPlaceHolder>
                   <asp:ContentPlaceHolder ID="ContentPlaceHolder2" 
                    Runat="server">
                   </asp:ContentPlaceHolder>
                   Copyright 2004 - My Company
   </form>

</body> </html>

</source>
   
  


Code behind and master page

   <source lang="csharp">

<%@ Page Language="C#" MasterPageFile="~/Default.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default" Title="Untitled Page" %> <asp:Content ID="Content1" ContentPlaceHolderId="ContentPlaceHolder1"

Runat="server">
   Enter your name:
<asp:Textbox ID="TextBox1" Runat="server" /> <asp:Button ID="Button1" Runat="server" Text="Submit" OnClick="Button1_Click" />

<asp:Label ID="Label1" Runat="server" />

</asp:Content> <asp:Content ID="Content2" ContentPlaceHolderId="ContentPlaceHolder2" Runat="server">

       <asp:Image ID="Image1" Runat="server" ImageUrl="http://www.nfex.ru/style/logo.png" />

</asp:Content> File: Default.aspx.cs using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class Default : System.Web.UI.Page {

   protected void Button1_Click(object sender, EventArgs e)
   {
       Label1.Text = "Hello " + TextBox1.Text + "!";
   }

}

File: Default.master <%@ Master Language="C#" %> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">

   <title>My Company Master Page</title>

</head> <body>

   <form id="form1" runat="server">

My Company Home Page

                   <asp:ContentPlaceHolder ID="ContentPlaceHolder1" Runat="server"/>
                   <asp:ContentPlaceHolder ID="ContentPlaceHolder2" Runat="server"/>
                   Copyright 2006 - My Company
   </form>

</body> </html>

</source>
   
  


Control title in master page with content page code

   <source lang="csharp">

<%@ page language="C#" MasterPageFile="~/Default.master" %> <%@ MasterType VirtualPath="~/Default.master" %> <script runat="server" language="c#"> void Page_Load(object sender, System.EventArgs e) {

       this.Master.HtmlTitle = "Hello World!";
   }

</script> File: Default.master <%@ master language="C#" %> <script runat="server">

   public string HtmlTitle {    
       get { return this.literal1.Text; }    
       set { this.literal1.Text = value; }
   }

</script> <html> <head runat="server">

   <title><ASP:Literal id="literal1" runat="server" /></title>

</head> <body>

   <form runat="server">
       <asp:contentplaceholder id="ContentPlaceHolder1" runat="server"/>
   </form>

</body> </html>

</source>
   
  


Exposing a server control from a master page as a public property (C#)

   <source lang="csharp">

<%@ Page Language="C#" MasterPageFile="~/Default.master" %> <%@ MasterType VirtualPath="~/Default.master" %> <script runat="server" language="C#">

   protected void Page_Load(object sender, EventArgs e)
   {
       Master.MasterPageLabel.Font.Size = 25;
   }

</script> File: Default.master

<%@ Master Language="VB" %> <script runat="server" language="C#">

   public Label MasterPageLabel
   {
       get
       {
           return Label1;
       }
       set
       {
           Label1 = value; 
       }
   } 

</script>

<asp:Label ID="Label1" Runat="server" />
</source>
   
  


Exposing a server control from a master page as a public property (VB)

   <source lang="csharp">

<%@ Page Language="VB" MasterPageFile="~/Default.master" %> <%@ MasterType VirtualPath="~/Default.master" %> <script runat="server" language="vb">

   Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
       Master.MasterPageLabel1.Font.Size = 25
   End Sub

</script>

File: Default.master <%@ Master Language="VB" %> <script runat="server" language="vb">

   Public Property MasterPageLabel1() As Label
       Get
           Return Label1
       End Get
       Set(ByVal Value As Label)
           Label1 = Value
       End Set
   End Property

</script>

<asp:Label ID="Label1" Runat="server" />
</source>
   
  


Link content page with master page

   <source lang="csharp">

File: Default.master <%@ Master Language="C#" AutoEventWireup="true"%> <!DOCTYPE html PUBLIC

  "-//W3C//DTD XHTML 1.0 Transitional//EN" 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server">

   <title>Acme Pirate Store</title>

</head> <body>

   <form id="form1" runat="server">
       <img src="http://www.nfex.ru/style/logo.png" />
<asp:contentplaceholder id="ContentPlaceholder1" runat="server"> </asp:contentplaceholder>
   </form>

</body> </html>

File: index.aspx

<%@ Page Language="C#"

   MasterPageFile="~/Default.master" 
   AutoEventWireup="true" 
   Title="Product Page" %>

<asp:Content ID="Content1"

   ContentPlaceHolderID="ContentPlaceholder1" 
   Runat="Server">
   
Product: <asp:DropDownList ID="ddlItem" runat="server" Width="140px"> <asp:ListItem Text="P"></asp:ListItem> <asp:ListItem>A</asp:ListItem> <asp:ListItem>B</asp:ListItem> <asp:ListItem>C</asp:ListItem> </asp:DropDownList>

Quantity: <asp:TextBox ID="txtQuantity" runat="server" Width="82px" />

</asp:Content>

</source>
   
  


master for print

   <source lang="csharp">

File: index.aspx <%@ page language="C#" MasterPageFile="~/main.master" printcontent:master="~/print.master" %> <script runat="server" language="c#">

 public override bool TestDeviceFilter(string deviceFilterName) {
   if (deviceFilterName.Equals("printcontent")) {
       if (this.Request.QueryString["print"] != null) {
           return true;
       }
   }
   return base.TestDeviceFilter(deviceFilterName);
 }

</script> <asp:content id="Content1" contentplaceholderid="ContentPlaceHolder1" runat="server">

   Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test
   Test Test

<asp:hyperlink id="HyperLink1" runat="server" navigateurl="Default.aspx?print=1">Print me!</asp:hyperlink>

</asp:content>

File: main.master <%@ master language="C#" %> <html> <head runat="server">

   <title>Untitled Page</title>

</head> <body>

   <form runat="server">
       <asp:contentplaceholder id="ContentPlaceHolder1" runat="server"/>
   </form>

</body> </html>

File: print.master <%@ master language="C#" %> <html> <head runat="server">

   <title>Untitled Page</title>

</head> <body>

   <form runat="server">
       This master can be used for printing.

<asp:contentplaceholder id="ContentPlaceHolder1" runat="server"/> </form>

</body> </html>

</source>
   
  


Master in page derivative

   <source lang="csharp">

<%@ page language="C#" MasterPageFile="~/Default.master" %> <asp:content id="Content1"

            contentplaceholderid="ContentPlaceHolder1" 
            runat="server">
            this is a test

</asp:content>

File: Default.master

<%@ master language="C#" %> <html> <head runat="server">

   <title>Untitled Page</title>

</head> <body>

   <form runat="server">

My Little Company

Navigation?
                   <asp:contentplaceholder id="ContentPlaceHolder1" runat="server">
                   </asp:contentplaceholder>
   </form>

</body> </html>

</source>
   
  


Master pages exposing an object model for content pages to programmatically modify elements on the master.

   <source lang="csharp">

<%@ Page Language="C#" MasterPageFile="Default.master"

   AutoEventWireup="true" CodeFile="Default.aspx.cs" 
   Inherits="Default" 
   Title="Hello, Master" 
   %>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentOfThePage" runat="server">

Welcome to this page!

master!

</asp:Content> File: Default.aspx.cs using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Drawing; public partial class Default : System.Web.UI.Page {

   protected void Page_Load(object sender, EventArgs e)
   {
       ((ASP.MasterWithProp)Master).TitleBoxText = "ASP.NET";
       ((ASP.MasterWithProp)Master).TitleBoxForeColor = Color.Cyan;
   }

} File: Default.master <%@ Master Language="C#" AutoEventWireup="true" CodeFile="Default.master.cs"

   Inherits="MasterPages_SimpleWithProp" Classname="MasterWithProp" %>

<!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>Hello, master pages</title>

</head> <body>

       <form id="form1" runat="server">
           <asp:Panel ID="HeaderPanel" runat="server" Height="50px" Width="100%">
               <asp:Label ID="TitleBox" 
                          runat="server" 
                          EnableTheming="False" 
                          Font-Bold="True" 
                          Font-Names="Impact"
                          Text="Anything" 
                          Width="100%"></asp:Label>
           </asp:Panel>
           <asp:contentplaceholder id="ContentOfThePage" runat="server">
           </asp:contentplaceholder>
           <asp:Panel ID="Panel1" 
                      runat="server" 
                      BorderStyle="Outset"
                      BorderWidth="1px" 
                      Width="100%" 
                      HorizontalAlign="Right">
               <asp:Label ID="SubTitleBox" 
                          runat="server" 
                          EnableTheming="False" 
                          Font-Bold="True" 
                          Font-Names="Lucida Console"
                          Text="sub title" 
                          Font-Size="Large" 
                          ForeColor="Orange"></asp:Label>
           </asp:Panel>        
       </form>

</body> </html> File: Default.master.cs using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Drawing; public partial class MasterPages_SimpleWithProp : System.Web.UI.MasterPage {

 public string TitleBoxText
 {
   get { return TitleBox.Text; }
   set { TitleBox.Text = value; }
 }
   public Color TitleBoxForeColor
   {
       get { return TitleBox.ForeColor; }
       set { TitleBox.ForeColor = value; }
   }

}

</source>
   
  


Master page with Default Content

   <source lang="csharp">

Default content will appear unless it is overridden in a particular content page. File: Default.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 id="Head1" runat="server">

   <title>Default Master</title>

</head> <body>

   <form id="form1" runat="server">
           <asp:contentplaceholder
               id="ContentPlaceHolder1"
               runat="server"/>
           <asp:ContentPlaceholder
               id="ContentPlaceHolder2"
               runat="server" />
           <asp:ContentPlaceHolder
               id="contentAd"
               Runat="server">
               <asp:Image
                   id="imgAd"
                   ImageUrl="~/BannerAd.gif"
                   CssClass="ad"
                   AlternateText="Advertisement"
                   Runat="server" />
           </asp:ContentPlaceHolder>
       
   </form>

</body> </html> File: DefaultContent.aspx <%@ Page Language="C#" MasterPageFile="~/Default.master" %> <asp:Content

   ID="Content1"
   ContentPlaceHolderID="ContentPlaceHolder1"
   Runat="Server">
   Content in the first column
   
Content in the first column
Content in the first column
Content in the first column
Content in the first column

</asp:Content> <asp:Content

   ID="Content2"
   ContentPlaceHolderID="ContentPlaceHolder2"
   Runat="Server">
   Content in the second column
   
Content in the second column
Content in the second column
Content in the second column
Content in the second column

</asp:Content>

</source>
   
  


Master page with trace (C#)

   <source lang="csharp">

<%@ page language="C#" MasterPageFile="MasterPage2.master" Trace="true" %> <script runat="server" language="c#"> </script> <asp:content id="Content1" contentplaceholderid="ContentPlaceHolder1" runat="server">

   Here"s some text!

</asp:content> <%-- <%@ master language="C#" %> <script runat="server"> </script> <html> <head id="Head1" runat="server">

   <title>Untitled Page</title>

</head> <body>

   <form id="Form1" runat="server">

My Little Company

Navigation?
                   <asp:contentplaceholder id="ContentPlaceHolder1" runat="server">
                   </asp:contentplaceholder>
                    
<asp:contentplaceholder id="Contentplaceholder2" runat="server">This is a default content
                       that can be replaced in any content page</asp:contentplaceholder>
   </form>

</body> </html>

--%>

      </source>
   
  


Nested master

   <source lang="csharp">

<%@ Page Language="C#" MasterPageFile="~/Default.master" Title="Sample Nested Page" %> <asp:Content ID="Content1" ContentPlaceHolderID="mainContent" Runat="Server">

Book Rep System Home

<p>Welcome to the book rep system

</asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="sideContent" Runat="Server">

New Releases

Core C#

</asp:Content> File: Default.master <%@ Master Language="C#" MasterPageFile="~/MasterDefault.master" %> <asp:Content ID="Content1" ContentPlaceHolderID="parentContent" Runat="Server">

           <asp:ContentPlaceHolder ID="sideContent" runat="server">

default side content

           </asp:ContentPlaceHolder>  
        <asp:ContentPlaceHolder ID="mainContent" runat="server">

default main content

        </asp:ContentPlaceHolder>

</asp:Content> File: MasterDefault.master <%@ Master Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server">

   <title></title>

</head> <body>

   <form id="form1" runat="server">

Pearson Ed Navigator
<asp:DropDownList ID="drpPlaces" runat="server"> <asp:ListItem>Book System</asp:ListItem> <asp:ListItem>A</asp:ListItem> <asp:ListItem>B</asp:ListItem> </asp:DropDownList>

   <asp:contentplaceholder id="parentContent" runat="server"/>
   </form>

</body> </html>

</source>
   
  


Nested master page

   <source lang="csharp">

<%@ page language="C#" MasterPageFile="~/Default.master" %> <asp:content id="Content1" contentplaceholderid="Content1" runat=server>

  <asp:label runat="server" id="Label1" 
       text="Child label1" font-bold="true"/>
  

</asp:content> <asp:content id="Content2" contentplaceholderid="Content2" runat=server>

  <asp:label runat="server" id="Label2" 
       text="Child label2" font-bold="true"/>

</asp:content> File: Default.master <%@ master language="C#" MasterPageFile="~/MasterDefault.master" %> <asp:content id="Content1" contentplaceholderid="MainContent" runat="server">

  <asp:panel runat="server" id="panelMain" backcolor="lightyellow">

Child master

     <asp:panel runat="server" id="panel1" backcolor="lightblue">

This is childmaster content.

       <asp:contentplaceholder id="Content1" runat="server" />
     </asp:panel>
     <asp:panel runat="server" id="panel2" backcolor="pink">

This is childmaster content.

        <asp:contentplaceholder id="Content2" runat="server" />
     </asp:panel>
  </asp:panel>

</asp:content>

File: MasterDefault.master <%@ Master Language="C#" %> <HTML> <BODY> <form id="Form1" runat=server>

Parent Master

This is Parent-master content.

<asp:contentplaceholder id="MainContent" runat=server/> </form> </HTML> </BODY>

</source>
   
  


Nested master page (C#)

   <source lang="csharp">

<%@ page language="C#" MasterPageFile="MasterPage5.master" %> <asp:content id="Content1" contentplaceholderid="Content1" runat=server>

  <asp:label runat="server" id="Label1" 
       text="Child label1" font-bold=true/>
  

</asp:content> <asp:content id="Content2" contentplaceholderid="Content2" runat=server>

  <asp:label runat="server" id="Label2" 
       text="Child label2" font-bold=true/>

</asp:content>

<%-- MasterPage5.master <%@ master language="C#" MasterPageFile="MasterMasterPage5.master" %> <asp:content id="Content1" contentplaceholderid="MainContent" runat="server">

  <asp:panel runat="server" id="panelMain" backcolor="lightyellow">

Child master

     <asp:panel runat="server" id="panel1" backcolor="lightblue">

This is childmaster content.

       <asp:contentplaceholder id="Content1" runat="server" />
     </asp:panel>
     <asp:panel runat="server" id="panel2" backcolor="pink">

This is childmaster content.

        <asp:contentplaceholder id="Content2" runat="server" />
     </asp:panel>
  </asp:panel>

</asp:content> --%>

<%-- MasterMasterPage5.master <%@ Master Language="C#" %> <HTML> <BODY> <form id="Form1" runat=server>

Parent Master

This is Parent-master content.

<asp:contentplaceholder id="MainContent" runat=server/> </form> </HTML> </BODY> --%>


      </source>
   
  


Overriding some default content in the content page (C#)

   <source lang="csharp">

<%@ Page Language="C#" MasterPageFile="~/Default.master" %> <asp:Content ID="Content2" ContentPlaceHolderId="ContentPlaceHolder2"

Runat="server">
   This is new content

</asp:Content>

File: Default.master

<%@ Master Language="C#" %> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">

   <title>My Company</title>

</head> <body>

   <form id="form1" runat="server">
       <asp:ContentPlaceHolder ID="ContentPlaceHolder1" Runat="server">
       Here is some default content
</asp:ContentPlaceHolder>

<asp:ContentPlaceHolder ID="ContentPlaceHolder2" Runat="server"> Here is some more default content </asp:ContentPlaceHolder>

   </form>

</body> </html>

</source>
   
  


Overriding some default content in the content page (VB)

   <source lang="csharp">

<%@ Page Language="VB" MasterPageFile="~/Default.master" %> <asp:Content ID="Content2" ContentPlaceHolderId="ContentPlaceHolder2"

Runat="server">
   This is new content

</asp:Content>

File: Default.master <%@ Master Language="VB" %> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">

   <title>My Company</title>

</head> <body>

   <form id="form1" runat="server">
       <asp:ContentPlaceHolder ID="ContentPlaceHolder1" Runat="server">
       Here is some default content
</asp:ContentPlaceHolder>

<asp:ContentPlaceHolder ID="ContentPlaceHolder2" Runat="server"> Here is some more default content </asp:ContentPlaceHolder>

   </form>

</body> </html>

</source>
   
  


Put site navigation in the master page

   <source lang="csharp">

<%@ Page Language="C#" MasterPageFile="~/Default.master" Title="Products" %> <asp:Content ID="Content1" ContentPlaceHolderID="mainContent" Runat="Server">

Products

infrastructure.

and much more.

</asp:Content> File: Default.master <%@ Master Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat="server"> </head> <body>

  <form id="form1" runat="server">
              <asp:ContentPlaceHolder ID="sideContent" runat="server">

default side content

              </asp:ContentPlaceHolder>  
           <asp:ContentPlaceHolder ID="mainContent" runat="server">

default main content

           </asp:ContentPlaceHolder>
  </form>

</body> </html>

</source>
   
  


Specifying master page in Web.config causes every content page to inherit from the master page

   <source lang="csharp">


<configuration>

   <system.web>
       <pages masterPageFile="~/Default.master" />
   </system.web>

</configuration>

Once specified in this manner, the content page"s Page directive can then be : <%@ Page Language="VB" %> You can override the application-wide master page specification by declaring a different master page within your content page: <%@ Page Language="VB" MasterPageFile="~/MyOtherCompany.master" %>

</source>
   
  


Specifying the master page for a specific folder in the Web.config file: Use <location>

   <source lang="csharp">

<configuration>

   <location path="AdministrationArea">
       <system.web>
           <pages masterPageFile="~/yourMaster.master" />
       </system.web>
   </location>
   

</configuration>

</source>
   
  


Two Master Pages (C#)

   <source lang="csharp">

<%@ page language="C#" MasterPageFile="main.master" printcontent:MasterPageFile="print.master" %> <script runat="server" language="c#">

 public override bool TestDeviceFilter(string deviceFilterName) {
   if (deviceFilterName.Equals("printcontent")) {
       if (this.Request.QueryString["print"] != null) {
           return true;
       }
   }
   return base.TestDeviceFilter(deviceFilterName);
 }

</script> <asp:content id="Content1" contentplaceholderid="ContentPlaceHolder1" runat="server">

   Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test Test
   Test Test

<asp:hyperlink id="HyperLink1" runat="server" navigateurl="TwoMasterPages.aspx?print=1">Print me!</asp:hyperlink>

</asp:content> <%-- main.master <%@ master language="C#" %> <script runat="server"> </script> <html> <head runat="server">

   <title>Untitled Page</title>

</head> <body>

   <form runat="server">
       <asp:contentplaceholder id="ContentPlaceHolder1" runat="server">
       </asp:contentplaceholder>
   </form>

</body> </html> --%> <%-- print.master <%@ master language="C#" %> <script runat="server"> </script> <html> <head runat="server">

   <title>Untitled Page</title>

</head> <body>

   <form runat="server">
       This master can be used for printing.

<asp:contentplaceholder id="ContentPlaceHolder1" runat="server"> </asp:contentplaceholder> </form>

</body> </html> --%>

      </source>
   
  


Two pieces of contentplaceholder

   <source lang="csharp">

<%@ page language="C#"

        MasterPageFile="~/Default.master" 
        Trace="true" %>

<asp:content id="Content1" contentplaceholderid="ContentPlaceHolder1" runat="server">

   Here"s some text!

</asp:content> File: Default.master <%@ master language="C#" %> <html> <head id="Head1" runat="server">

   <title>Untitled Page</title>

</head> <body>

   <form id="Form1" runat="server">

My Little Company

Navigation?
                   <asp:contentplaceholder id="ContentPlaceHolder1" runat="server"/>
                    
<asp:contentplaceholder id="Contentplaceholder2" runat="server">This is a default content.
                   </asp:contentplaceholder>
   </form>

</body> </html>

</source>
   
  


Update the page properties in master page

   <source lang="csharp">

<%@ Page Language="C#" MasterPageFile="~/Default.master"

                      AutoEventWireup="true" 
                      CodeFile="Default.aspx.cs" 
                      Inherits="ProgrammedHome" 
                      Title = "Programmed Master Page Home" %>

<%@ MasterType VirtualPath="~/Default.master" %> <asp:Content ID="Content1" ContentPlaceHolderID="sideContent" Runat="Server">

title

AAA

</asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="mainContent" Runat="Server">

title

BBB

</asp:Content> File: Default.aspx.cs using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class ProgrammedHome : System.Web.UI.Page {

  protected void Page_Load(object sender, EventArgs e)
  {
     Master.AdImageUrl = "~/Images/ads/ad3.gif";
     Master.AdNavigateUrl = "http://www.nfex.ru";
  }

} File: Default.master <%@ Master Language="C#" AutoEventWireup="true" CodeFile="Default.master.cs" Inherits="ProgrammedContentMaster" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat="server"> </head> <body>

  <form id="form1" runat="server">
              <asp:ContentPlaceHolder ID="sideContent" runat="server">

default side content

              </asp:ContentPlaceHolder>  
           <asp:ContentPlaceHolder ID="mainContent" runat="server">

default main content

           </asp:ContentPlaceHolder>
  </form>

</body> </html> File: Default.master.cs using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class ProgrammedContentMaster : System.Web.UI.MasterPage {

  public string AdImageUrl
  {
     get { return imgbtnAd.ImageUrl; }
     set { imgbtnAd.ImageUrl = value; }
  }
  public string AdNavigateUrl
  {
     get { return imgbtnAd.NavigateUrl; }
     set { imgbtnAd.NavigateUrl = value; }
  }

}

</source>
   
  


Use image to fill the filler in master page

   <source lang="csharp">

<%@ Page Language="C#" MasterPageFile="~/Default.master" %> <script runat="server" language="c#">

   protected void Button1_Click(object sender, System.EventArgs e)
   {
       Label1.Text = "Hello " + TextBox1.Text + "!";
   }    

</script> <asp:Content ID="Content1" ContentPlaceHolderId="ContentPlaceHolder1" Runat="server">

   Enter your name:
<asp:Textbox ID="TextBox1" Runat="server" /> <asp:Button ID="Button1" Runat="server" Text="Submit" OnClick="Button1_Click" />
<asp:Label ID="Label1" Runat="server" />

</asp:Content> <asp:Content ID="Content2" ContentPlaceHolderId="ContentPlaceHolder2" Runat="server">

       <asp:Image ID="Image1" Runat="server" ImageUrl="http://www.nfex.ru/style/logo.png" />

</asp:content> File: Default.master <%@ Master Language="C#" %> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">

   <title>My Company Master Page</title>

</head> <body>

   <form id="form1" runat="server">

My Company Home Page

                   <asp:ContentPlaceHolder ID="ContentPlaceHolder1" Runat="server"/>
                   <asp:ContentPlaceHolder ID="ContentPlaceHolder2" Runat="server"/>
                   Copyright 2006 - My Company
   </form>

</body> </html>

</source>
   
  


Use master page (C#)

   <source lang="csharp">

<%@ page language="C#" MasterPageFile="MasterPage3.master" %> <script runat="server" language="c#"> </script> <asp:content id="Content1" contentplaceholderid="ContentPlaceHolder1" runat="server">

   cool stuff!

</asp:content>

<%-- MasterPage3.master <%@ master language="C#" %> <script runat="server"> </script> <html> <head runat="server">

   <title>Untitled Page</title>

</head> <body>

   <form runat="server">

My Little Company

Navigation?
                   <asp:contentplaceholder id="ContentPlaceHolder1" runat="server">
                   </asp:contentplaceholder>
   </form>

</body> </html>

--%>

      </source>
   
  


Using Page_PreInit to assign the master page programmatically (C#)

   <source lang="csharp">

<%@ Page Language="C#" %> <script runat="server">

   protected void Page_PreInit(object sender, EventArgs e)
   {
       Page.MasterPageFile = "~/Default.master";
   }

</script>

</source>
   
  


Using Page_PreInit to assign the master page programmatically (VB)

   <source lang="csharp">

<%@ Page Language="VB" %> <script runat="server">

   Protected Sub Page_PreInit(ByVal sender As Object, ByVal e As System.EventArgs)
       Page.MasterPageFile = "~/MyMasterPage.master"
   End Sub

</script>

</source>