Use delegate event handling for this.
Here is sample example for you.
In Site.Master.cs
public delegate void DoEvent();
public event DoEvent OnDoEvent;
protected void Button1_Click(object sender, EventArgs e)
{
if (OnDoEvent != null)
{
OnDoEvent();
}
}
in Default.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
(this.Master as SiteMaster).OnDoEvent += new SiteMaster.DoEvent(_Default_OnDoEvent);
}
void _Default_OnDoEvent()
{
Test.Text = "Clicked";
}
Hope it will help :)