10 messaggi dal 27 maggio 2008
C'è un modo per poter cambiare le propietà di un div contenuto in una masterpage da codice?
mi serve saperlo perchè in alcune pagine non devo far vedere il background di questo div...

grazie ^^
652 messaggi dal 21 gennaio 2007
Contributi
si, basta che aggiungi gli attributi id="quellochevuoi" e runat="server"

poi, dalla parte di code-behind della master page, puoi accedere alle proprietà direttamente facendo

quellochevuoi.InnerText = "testo cambiato";


dalle pagine content, invece, devi prelevare l'istanza del tuo div per poi poter cambiare le proprietà.
una cosa di questo tipo:

se all'inteno di un ContentPlaceHolder
ContentPlaceHolder c = (ContentPlaceHolder)Page.Master.FindControl("idContentPlaceHolder");
HtmlGenericControl div = c.FindControl("quellochevuoi") as HtmlGenericControl;
if(div != null) div.InnerText = "cambio il testo !";


se al di fuori di un ContentPlaceHolder:
HtmlGenericControl div = Page.Master.FindControl("quellochevuoi") as HtmlGenericControl;
if(div != null) div.InnerText = "cambio il testo !";
10 messaggi dal 27 maggio 2008
quindi, per modificare un div nella masterpage di nome battelapesca, basta che nella pagina che usa la master uso

battelapesca.<quel che serve>

giusto?
652 messaggi dal 21 gennaio 2007
Contributi
no.
devi utilizzare il metodo Master.FindControl("iddeltuocontrollo") come ti ho scritto sopra.
10 messaggi dal 27 maggio 2008
ah, ok...
però io devo solo fare in modo che il background del div sia invisibile...
652 messaggi dal 21 gennaio 2007
Contributi
quello è l'unico modo che hai per recuperare l'istanza di un controllo posto all'interno di una master page.
poi puoi cambiargli lo sile senza alcun problema.
10 messaggi dal 27 maggio 2008
grazie mille, molto utile, ha funzionato

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.