31 messaggi dal 16 marzo 2005
www.seodev.it
Salve ragazzi,
ho un problema, sto sviluppando in web form un'applicativo in stile sito web, quindi ipotizziamo di avere:
pagina index.aspx ed il suo .cs
pagina ciao.aspx ed il suo .cs .In questa pagina ho un controllo panel1.visible=false;
pagina master con il suo .cs
la masterpage è adottata sia per index che ciao, e dalla masterpage voglio rendere true la proprietà visible del panel1 che si trova in ciao.aspx, ma non ci riesco.

Se da ciao.aspx voglio richiamare una public class "errore" presente nella masterpage faccio:
((MasterPage)Master).errore

ma da ciao.aspx ???

mi aiutate?
grazie mille!!!!
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,
dovresti riutilizzare lo stesso approccio che stai già usando per la public class "errore". Ovvero: esponi una proprietà bool nella Master Page che la Master Page valorizzerà con true o false.

Poi, dall'evento Page_PreRender di ciao.aspx.cs, valorizzi la visibilità del Panel in accordo con quella proprietà. Esempio:
protected void Page_PreRender(object sender, EventArgs e){
  panel1.Visible = ((MasterPage)Master).ProprietaBooleana;
}


Ti suggerisco questa soluzione perché la master page, che lavora con diverse pagine aspx, non dovrebbe interessarsi dell'implementazione interna di ciascuna. E' per questo che dalla master page non vado ad accedere a ciao.aspx. Piuttosto, la master page dovrebbe esporre delle proprietà che poi ciascuna pagina aspx decide se utilizzare e come.

Continuando a seguire questo ragionamento, la proprietà bool non dovrebbe chiamarsi "PanelVisibile" perché questo presuppone che la master page sappia che da qualche parte c'è un panel che deve essere reso visibile. Nel darle il nome, pensa invece all'azione che è stata compiuta dall'utente. Per esempio potrebbe chiamarsi "CondizioniAccettate" ma dato che non conosco lo scopo non so darti un consiglio preciso sul come chiamarla.

ciao,
Moreno

Enjoy learning and just keep making

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.