How to determine which Child Page is being displayed from Master Page?
It's better to let the ContentPage
notify the MasterPage
. That's why the ContentPage
has a Master
Property and MasterPage
does not have Child
property.
Best pratice in this is to define a property or method on the MasterPage
and use this through the Master
property of the ContentPage
.
If you use this technique it's best to explicitly specify the classname for the MasterPage. This makes to use the MasterPage in the ContentPage.
Example:
//Page_Load
MyMaster m = (MyMaster)this.Master;
m.TellMasterWhoIAm(this);
Hope this helps.
I use this:
string pageName = this.ContentPlaceHolder1.Page.GetType().FullName;
It retuns the class name in this format "ASP.default_aspx", but I find that easy to parse for most purposes.
Hope that helps!