Over a million developers have joined DZone.

Back to Basics – Using MasterType Directive


This post is a result of a question that I got from one of the developers that I work with. The question was how to use master page properties from an ASP.NET page.

Setting the Environment

The first thing that you want to do is to expose the properties as public in the master page. For example this is code behind of a simple master page that exposes the IsPageEnabled property:

public partial class Site1 : MasterPage
#region Properties

public bool IsPageEnabled { get; set; }


#region Page events

protected void Page_Load(object sender, EventArgs e)


The MasterType Directive

When we want to use the property in a page which reference the previous master page we need to put the inside of it the MasterType directive:

<%@ MasterType VirtualPath="~/Site1.Master" %>

This directive declare that the master page of a page is strongly type. By that simple directive we gain access to the master exposed public properties and methods through the Master property of the page. For example this is how in the page I’ll call the IsPageEnabled property of the master page:

public partial class WebForm5 : Page
#region Page Events

protected void Page_Load(object sender, EventArgs e)
Master.IsPageEnabled = true;


The markup of the page I use:

<%@ Page Title="" Language="C#" MasterPageFile="~/Site1.Master" AutoEventWireup="true"
CodeBehind="WebForm5.aspx.cs" Inherits="TestModalDialog.WebForm5" %>

<%@ MasterType VirtualPath="~/Site1.Master" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">


Lets sum up, when we use master pages we can expose properties and methods for the pages. We use the MasterType directive in the page in order to create a strong type master page inside of it. By doing that we can pass data from the page to its master. Very easy and very useful.



Published at DZone with permission of Gil Fink, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}