Figured it out!! (Using a different approach)
First of all there doesn't seem to be a way to specify the custom properties
of a master page in the aspx form.
But I can add custom attributes to the Page directive by using a base page
class that my web forms can inherit. I can put my custom properties in my
base page and set them on the aspx form in design mode. This is only
possible if I set the CodeFileBaseClass of Page in the aspx form to my base
page class.
Then from my master page I'm able to interrogate this properties.
However, I'm not sure if this is the best solution.
Example below:
1. BasePage
public class BasePage : System.Web.UI.Page
{
private string _Header;
public string Header
{
get { return _Header; }
set { _Header = value; }
}
public BasePage() { }
}
2. Page directive on my aspx form (Note: Header and CodeFileBaseClass
settings)
<%@ Page Language="C#" MasterPageFile="~/App_Master/Main.master"
CodeFileBaseClass="BasePage" Header="This is a Test!" AutoEventWireup="true"
CodeFile="SamplePage.aspx.cs" Inherits="App_Pages_SamplePage" Title="Sample
Page" %>
3. Master Page
public partial class App_Master_Main : System.Web.UI.MasterPage
{
protected void Page_Load(object sender, EventArgs e)
{
if (Page is BasePage)
{
BasePage p = (BasePage)this.Page;
ltlFormHeader.Text = p.Header;
}
}
}
If anyone is interested in this and can actually follow what I'm doing and
realize that this is bad... Please let me know a better way.
Thanks,
Suresh.
"Suresh" wrote:
Is there any way to access the custom properties of a master page from the
aspx form?
I know the custom properties of a master page can be accessed from the
aspx.cs partial class by specifying the MasterType directive on the aspx form.
My master page will render a custom navigation menu and I'd like to put in
the properties of which tab and sub tab to load and other misc style info in
the aspx form that can be used by master page.
Thanks in advance,
Suresh.