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!