ASP.Net/User Control and Master Page/Master page
Содержание
- 1 A content page that can work with more than one master page
- 2 A master page that creates a GUID on the first request (C#)
- 3 My Company Home Page
- 4 <%= PageHeadingTitle%>
- 5 <%= PageHeadingTitle %>
- 6 My Company Home Page
- 7 My Little Company
- 8 Welcome to this page!
- 9 My Little Company
- 10 Book Rep System Home
- 11 Parent Master
- 12 Parent Master
- 13 Products
- 14 My Little Company
- 15 title
- 16 My Company Home Page
- 17 My Little Company
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 PageUser"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">
<img src="~/logo.gif" /> <asp:Image runat="server" ID="imgLogo" ImageUrl="~/cool.gif" />
<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">
<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>
<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:Image runat="server" ID="imgLogo" ImageUrl="~/cool.gif" />
<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>