Previous answers might work if the connection between the master page and its control is direct. In other cases you might want to take a look at the hierarchy of the object you're trying to 'find' and change. I.E. FindControl might return null if called from MasterPage (this depends on how your content page is structured, e.g. MasterPage > Menu > MenuItem > control)
so with that in mind you might want to do something like this at the content page code behind:
protected void Page_PreRender(object sender, EventArgs e)
{
ParentObj1 = (ParentObj1)Master.FindControl("ParentObj1Id");
ParentObj2 = (ParentObj2)ParentObj1.FindControl("ParentObj1Id"); // or some other function that identifies children objects
...
Control ctrl = (Control)ParentObjN.FindControl("ParentObjNId"); // or some other function that identifies children objects
// we change the status of the object
ctrl.Visible = true;
}
or I'll give you an actual snippet that worked for me (make button with id ButtonViewReports hidden at MasterPage, visible at content page):
protected override void OnPreRender(EventArgs e)
{
// find RadMenu first
RadMenu rm = (RadMenu)this.Master.FindControl("MenuMaster");
if (rm != null)
{
// find that menu item inside RadMenu
RadMenuItem rmi = (RadMenuItem)rm.FindItemByValue("WorkspaceMenuItems");
if (rmi != null)
{
// find that button inside that Menitem
Button btn = (Button)rmi.FindControl("ButtonViewReports");
if (btn != null)
{
// make it visible
btn.Visible = true;
}
}
}
base.OnPreRender(e);
}