views:

107

answers:

1

A page could have an attribute MasterType to make Page.Master to be strong-typed:

<%@ MasterType VirtualPath="~/Site.master" %>

If all my pages inherits specific class inherited System.Web.UI.Page itself, can I someway get access to this.Master property in it so I could call master page's methods?

+1  A: 

In your base class that all pages inherit from, just override the Master property, something like this:

public new SiteMaster Master
{
  get { return base.Master as SiteMaster ; }
}

or abatishchev's own variant:

public new ISiteMaster Master
{
  get { return base.Master as ISiteMaster; }
}
Nick Craver
because of SiteMaster class isn't accessible for my abstract page class I created an interface ISiteMaster to hold everything I need from SiteMaster class. Let me edit your answer and accept it.
abatishchev
@abatishchev - No problem :) glad that approach works!
Nick Craver