se ti fai una funzione di aggiornamento sulla pagina che contiene il controllo, per esempio un
	codice:
	public void initPage()
{
   //databind di datagrid
   //testo su textbox
   //...
}
 
puoi richiamarla dal controllo con un 
	codice:
	((cast_a_classe_pagina_aspx)Parent.Parent).initPage()
 
a tal proposito ti consiglio di estendere le tue pagine aspx non da Page, ma da una tua pagina personalizzata, per esempio 
	codice:
	class SitoWebPage : Page
{
        public virtual void initPage()
	{
		//metodo virtuale da "overridare" sulla tua pagina 	
	}
}
 
questo perchè così hai il metodo initPage su ogni pagina del tuo sito, e il controllo non ti va in errore, altrimenti puoi mettere un blocco try/catch.
il cast del Parent sul controllo, una volta che estendi le pagine che lo contengono dalla tua classe personalizzata, lo fai così:
	codice:
	((SitoWebPage)Parent.Parent).initPage();
 
sulle pagine aspx dove ne hai bisogno puoi fare l'override della funzione virtual (insomma, più o meno come il "override protected void OnInit(EventArgs e)" che mette visualstudio:
	codice:
	public override void initPage()
{
   //databind di datagrid
   //testo su textbox
   //...
}
 
probabilmente il framework mette a disposizione qualche oggettino, ma questo è più "object oriented" e quindi a mio giudizio la soluzione più "trasparente"
ciao!