- For individual users
- Instant access to solutions
- Ask your tech questions
- Start your 30-day Free Trial
Main Topics
Browse All TopicsI have developed a website using Visual Studio 2005 and C#. Every page in my website uses the same master page. Each of the pages in the website descend from the default System.Web.UI.Page.
I would like to develop my own base class for all my pages.
One purpose of this is to make it easier to access things on the master page. For example, my master page has a label control which shows the title of the page, but sometimes I want to customise this, for example by showing the name of an object retrieved from my database.
So, in the class which all pages will inherit from, I want to implement a "SetPageTitle" method.
This is all works, except I can't figure out how to access the actual class of my master page. I need to be able to do this, so that I can typecast the page's master (i.e. Page.Master) with my master page class so that I can call my master page's custom methods. e.g. ((MyMasterPage)Page.Master
When editing the code for my page base class (for all pages to inherit from), Visual Studio does not recognise "MyMasterPage".
If I am in the code of an actual page (not the base class), VS recognises "MyMasterPage", and allows me to use the class to typecase the page's master.
So how can I reference MyMasterPage from a class in the App_Code folder?
This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.
Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.
If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.
Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.
Access the answers to your technology questions today.
30-day free trial. Register in 60 seconds.
Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Try it out and discover for yourself.
30-day free trial. Register in 60 seconds.
Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.
Business Accounts
Answer for Membership
by: parijoPosted on 2009-09-30 at 05:58:42ID: 25458285
Best solution I can think of for this would be to create a different base class for your master page as well. This class should inherit from MasterPage and implement all of the methods or properties you require access to. You make make these implementations abstract if you prefer, or even just create an interface which you could apply to the current master page's code behind file.
Having done something similar to the above you can then cast your page class's Master property to the type of your new class or interface and have full access to the properties and methods you have defined.
Hope that helps.