Question: I have a Page.aspx that is being re-used. Sort of like a Master Page (I'm actually using Sitecore CMS, so it works like a master Page even if it is not and I cannot use this.parent).
On a certain instance, I have a ASCX control loading on that Page needs to do some special processing. It needs to hide/show a banner that lies on the Page.aspx.

I'm thinking one of the options could be to have an event fire on the ASCX and it can be implemented on the Page.aspx in order to determine whether the banner is shown or not.

Now this shouldn't break in case other controls in the Page do not use the event. Can this be accomplished? do you have any other ideas as to how to accomplish this behavior?

Answer: 
You should use events like you've suggested. This approach allows the implementation to be generic, reusable, and loosely coupled.
Another way to do it within user control itself by referencing parent Page. This way code is confined within user control code. Something like

```
Control oBanner = this.Page.FindControl("BannerID");

if (oBanner != null) {
  oBanner.Visible = false;
}

```