26 messaggi dal 09 ottobre 2006
Salve,

nella mia applicazione ASP.NET2 ho tutte le pagine che fanno ad una masterpage base.

poi ho notato che alcune di esse hanno all'interno una sola tabella, quindi mi piacerebbe definire una seconda masterpage (che a sua volta deriva da quella base) o una classe pagina che partendo dalla masterpage aggiunge una tabella e si mette a disposizione come classe base per altre classi/pagine.

Qual è il metodo più corretto? e soprattutto nel secondo caso come si fa a definire una classe/pagine visibile in tutte le cartelle dell'applicazione? riesco a farmela vedere solo per le pagine nella stessa cartella. (se me lo spiegate ve ne sarei grato!)


ciao
Fabrizio
Ciao,

soluzione1: Crei una classe,PageBase, che deriva da System.Web.UI.Page
public class PageBase : System.Web.UI.Page
    {
//Implementazione
}
Fatto questo tutte le tue pagine (non master) eridteranno PageBase fatto del tutto lecito visto che la classe erediata System.Web.UI.Page.
public partial class MiaPagina : PageBase


Soluzione2: Utilizzo delle interfaccie

Fabrizio Canevali
26 messaggi dal 09 ottobre 2006
Fatto questo tutte le tue pagine (non master) eridteranno PageBase fatto del tutto lecito visto che la classe erediata System.Web.UI.Page.
public partial class MiaPagina : PageBase

sì, ma a me succede che le MiaPagina vedano PageBase solo se si trovano nella stessa directory! io ho più directory a causa dei ruoli utente.
poi hai scritto non master.. nel senso che sarà PageBase che sarà una pagina master?

grazie
F
sfear ha scritto:

sì, ma a me succede che le MiaPagina vedano PageBase solo se si trovano nella stessa directory! io ho più directory a causa dei ruoli utente.
poi hai scritto non master.. nel senso che sarà PageBase che sarà una pagina master?
grazie
F

Le directory non influiscono sulla visibilità della Classe PageBase semmai verifica il namespace (cosa ben diversa).

Per fare un po di chiarezza pensa che System.Web.UI.MasterPage funge da modello e contenitore di unione per le pagine composte esclusivamente da controlli Content e dai rispettivi controlli figlio.

Mentre la Classe System.Web.UI.Page rappresenta un web form.

Fabrizio Canevali
26 messaggi dal 09 ottobre 2006
però non riesco a farlo funzionare! la MiaPagina non vede la PageBase se sono in due cartelle diverse.


public partial class Pages_Utente2_PageBase : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}
}


public partial class Pages_SuperUser_MiaPagina : Pages_Utente2_PageBase
{
protected void Page_Load(object sender, EventArgs e)
{

}
}


che namespace devo usare?
posso poi dire che pagebase deriva 'il modello' dal una master page?

grazie
Fabrizio
ma il codice della classe lo inserisci in App_Code?

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
ok. sì dentro ad AppCode funziona. grazie

alla fine però il mio problema finale persiste, anche se gli dico che questa pagina
è una pagina base per una master page e gli aggiungo una tabella non riesco a riciclarla in altre pagine... giusto?

quindi ho bisogno più semplicemente di 2 masterpage nidificate.. e mi sembra funzionare, però ovviamente non mi va in design view!!! è uscito qualche tool che permette di visualizzare anche la master page nidificate?


grazie e scusate l'ignoranza

Fabrizio
scusa di cosa, domandare è lecito, rispondere cortesia.

purtroppo a design time la MasterPage nidificate non sono supportte, lo saranno nel VS 2008..

ciao marco

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

http://nostromo.spaces.live.com/default.aspx

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.