[Last Call] Learn how to a build a cloud-first strategyRegister Now


How do I inherit from Site.Master?

Posted on 2011-02-15
Medium Priority
Last Modified: 2012-06-27
I have a public property defined in Site.Master.cs, and I have defined that page as the Master Page in the Edit.aspx page. How can I access that property from Edit.aspx.cs?

Question by:newbieweb
  • 5
  • 2

Author Comment

ID: 34897995
I guess I need to make the object inherit from Site, instead of System.Web.UI.Page: pretty obvious.

But please confirm this is okay. I see that I need to then add a property to get it to compile...

Author Comment

ID: 34898058
When I change the inheritance, something strange happens:

When I change this:
public partial class Edit : System.Web.UI.Page

to this:
public partial class Edit : Site

I get a compilation problem since the compiler can not find the Title property

Title = table.DisplayName;

But Site inherits from System.Web.UI.Page so I do not understand why it suddenly can not find that property.  Any ideas?


LVL 75

Assisted Solution

by:käµfm³d 👽
käµfm³d   👽 earned 800 total points
ID: 34898291
>>  But Site inherits from System.Web.UI.Page so I do not understand why it suddenly can not find that property.

Because if you look at the markup page, you will see that it inherits a base class as well. The markup for Site will be able to access the members  it defined (private, public, protected, etc), but Edit will only have access to those members Site defines as either public or protected, not private.
Get quick recovery of individual SharePoint items

Free tool – Veeam Explorer for Microsoft SharePoint, enables fast, easy restores of SharePoint sites, documents, libraries and lists — all with no agents to manage and no additional licenses to buy.


Author Comment

ID: 34898326
That makes sense. BUT, Title is a Public property.

An object that inherits from Site should also have access to Title.  That's classic OOP, I thought...
LVL 33

Accepted Solution

Todd Gerbert earned 1200 total points
ID: 34898466
You can reference Page.Master in Edit.aspx.cs to get a reference to Site.Master.cs.

YourMasterPageClass masterPage = this.Master as YourMasterPageClass;


Open in new window

LVL 75

Assisted Solution

by:käµfm³d 👽
käµfm³d   👽 earned 800 total points
ID: 34898805
>>  That's classic OOP, I thought...

It is. Without seeing the code, though, it's hard to diagnose the issue. Can you recreate an example?

Author Comment

ID: 34899153
I found the problem. While making a list of source code for you, I realized Site is a MasterPage, yet Edit was a Page.

I think I need to leave Site.Master.cs alone and add a new abstract Page that deals with permissions.


Author Closing Comment

ID: 34899174
I see tgerbert's answer should have tipped me off that you can only reference the Master page's properties.

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A long time ago (May 2011), I have written an article showing you how to create a DLL using Visual Studio 2005 to be hosted in SQL Server 2005. That was valid at that time and it is still valid if you are still using these versions. You can still re…
The article shows the basic steps of integrating an HTML theme template into an ASP.NET MVC project
This Micro Tutorial will teach you how to add a cinematic look to any film or video out there. There are very few simple steps that you will follow to do so. This will be demonstrated using Adobe Premiere Pro CS6.
As many of you are aware about Scanpst.exe utility which is owned by Microsoft itself to repair inaccessible or damaged PST files, but the question is do you really think Scanpst.exe is capable to repair all sorts of PST related corruption issues?
Suggested Courses
Course of the Month18 days, 4 hours left to enroll

830 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question