26 messaggi dal 09 ottobre 2006
Salve a tutti,

vorrei sapere qual è il modo corretto (e se esiste) di creare una classe di una pagina WEB che derivi da un altra classe di pagina base.
Inoltre la pagina derivata deve eredita da una master page per un discorso visuale.

Sostanzialmente io devo ridefinire in tutte le pagine il metodo InitializeCulture() per cambiare la lingua. Pertanto vorrei una Pagina A in cui faccio l'override e che mi serva come padre per la Pagina B in cui dovrò solo scrivere C# specifico. Inoltre la pagina B (o anche la A ve bene) ereditano da una master page per il discorso visuale... ho provato a mettere l'override di InitializeCulture() nel C# della master page, ma la classe master non ha questo metodo.. che faccio?

spero abbiate capito qualcosa e che mi possiate aiutare

grazie
Fabrizio
la prima cosa da chiarire è che tra la MasterPage e la Page non c'è nessuna ereditirietà visuale.

la MastePage è solo un UserControl evoluto, è per questo che non ha il metodo InizializeCulture.

devi creare una classe che erediti da Page, da questa classe fai derivare tutte le tue pagine, che avranno o meno una MasterPage

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
26 messaggi dal 09 ottobre 2006

devi creare una classe che erediti da Page, da questa classe fai derivare tutte le tue pagine, che avranno o meno una MasterPage


Ok, io la classe l'ho creata, e ha anche una pagina .aspx associata in cui in realtà non ci metto niente.

Poi però dove la metto questa pagina nelle diverse cartelle? per ereditarla me la vedono solo le classi/pagine nella stessa cartella e se la metto in App_Code non mi vede più il metodo Profile che uso dentro a InitializeCulture.

Probabilmente deve scasinare con i namespace vero?


ty
Fabrizio
non ho capito benissimo puoi spiegarmi meglio il problema?

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
26 messaggi dal 09 ottobre 2006
oops, davvero non ci riesco a fare vedere la nuova classe Page (frmLangBase) base, alle altre pagine.

se la metto in App_Code non vede il this.Profile dentro a frmLangBase e mi dice: "Profile non esiste nel contesto corrente".

se la metto dentro alla cartella delle pagine funziona, ma la classe frmLangBase è vista solo dalle pagine che stanno nella stessa directory!

che devo fare?


grazie
Fabrizio
26 messaggi dal 09 ottobre 2006
cioè, io da quello che ho capito devo arrivare a scrivere questo:

public partial class Prova : frmBaseLang
{

}

dove devo mettere questa frmBaseLang?
dentro a qualche cartella particolare? dentro a qualche namespace?

grazie
F
allora ricapitolando la classe che eredita da Page è giusto stia in App_Code, non puoi usare la proprietà Profile perche viene autogenareta al volo, di fatto la classe Page ha la proprietà Profile solo se i profile sono attivi.

quindi devi utilizzare la classe ProfileBase ed il metodo GetPropertyValue per recuperare i valori della prorietà.

è meno comodo perche non hai il comodo wrapper tipizzato

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
26 messaggi dal 09 ottobre 2006
io i profili li ho attivati..

cmq ho capito. è un po' un casino usare questa ProfileBase, faccio prima a duplicare una chiamata a funzione in tutte le pagine.. i tempi di consegna cominciano a stringere..


grazie
F

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.