Ho una masterpage con un pannello di aggiornamento:
Poi ho la pagina Default.aspx che usa il file di masterpage:
Carico automaticamente gli usercontrols nel segnaposto con id plhCurrentItem.
Il problema è quando faccio clic su un pulsante in usercontrol, nessun evento si triggers. L’usercontrol scompare e il pannello di aggiornamento viene lasciato vuoto.
Che cosa sto facendo di sbagliato?
Aggiornare
Codice usato per aggiungere i controlli degli utenti. Il metodo LoadControls viene chiamato dall’evento Page_load.
Control ctlCurrentItem = null; public string currentControl { get { return ((string)Session["currentControl"]); } set { Session["currentControl"] = value; } } public void LoadControls() { switch (currentControl) { case "Home": ctlCurrentItem = Page.LoadControl("~/pages/Home.ascx"); ctlCurrentItem.ID = "Home"; break; case "Resume": ctlCurrentItem = Page.LoadControl("~/pages/Resume.ascx"); ctlCurrentItem.ID = "Resume"; break; case "Projects": ctlCurrentItem = Page.LoadControl("~/pages/Projects.ascx"); ctlCurrentItem.ID = "Projects"; break; case "Contact": ctlCurrentItem = Page.LoadControl("~/pages/Contact.ascx"); ctlCurrentItem.ID = "Contact"; break; default: return; } plhCurrentItem.Controls.Clear(); plhCurrentItem.Controls.Add(ctlCurrentItem); }
Metti la chiamata LoadControls nell’evento OnPreInt dal ciclo di vita della pagina :
Usa questo evento per quanto segue: