Creare una PageBase da ereditare su tutte le altre pagine

giovedì 30 giugno 2005 - 13.35

Eolo Profilo | Newbie

Hello Tribu!

Da non molto ho iniziato ad affacciarmi ad Asp.NET per creare un applicativo intranet. Per varie motivazioni ho deciso di iniziare direttamente con la beta 2 della versione 2.0 del framework usando VS 2005.

Nella definizione della mia struttura di base per l'applicativo ho deciso di creare una mia classe PageBase ereditata dalla classe Page per inserire tutte le funzionalità che saranno comuni a tutte le mie prossime pagine aspx che, a loro volta erediteranno da PageBase.

Per fare ciò ho preso spunto dal Tips http://www.dotnethell.it/tips/ChangeRuntimeThemes.aspx
iniziando con l'inserire una gestione centralizzata dei themes.

Il mio problema è che non funziona. :)
Mi spiego, Ho impostato nel mio web.config la voce

<pages pageBaseType="PageBase"></pages>

Ho creato due Temi di test che chiamerò Simple e Simple2 che differiscono nel colore attrbuito ad una label (l'una rossa e l'altra verde).

Creato la mia classe PageBase:

public class PageBase : System.Web.UI.Page
{
protected override void OnPreInit(EventArgs e)
{
base.OnPreInit(e);
this.Theme = "Simple"; //scritta Rossa
}
}

e poi creato la mia nuova pagina :

public partial class GestioneCampus : System.Web.UI.Page
{
protected void Page_PreInit(object sender, EventArgs e)
{
Page.Theme = "Simple2"; //scritta verde
}
...
}

così facendo mi aspetto di vedere come risultato la scritta verde. Ed è così che funziona.

Se io commento la riga Page.Theme = "Simple2"; mi aspetterei di vedere a questo punt la scritta rossa.. in quanto non sovrascrivo più il tema della pagina, quindi rimane valido il default impostato nella classe base da cui eredito, e quindi "Simple".

Così non è. Come se non venisse caricato il tema. Anche in debug, mettendo dei breakpoint, noto che l'esecuzione non passa per l'evento OnPreInit della classe base.

Cosa non va?
qualcuno è così gentile da darmi la dritta?
Grazie sin d'ora.

Eolo

Eolo Profilo | Newbie

Perdonatemi..
sono talmente fuso che ho trovato l'inghippo.. da vero Beeeep!!

public partial class GestioneCampus : PageBase

invece che

public partial class GestioneCampus : System.Web.UI.Page

ci credo ioi che non eseguiva nulla!! Scusate la gaff..
Devo dire un buon modo di presentarsi scrivere il primo post così! ;)

Enjoy your mind!
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5