>1)
> 1 esempio: Master.FindControl("Label1")
>a cui poi può essere aggunto Master.FindControl("Label1").FindControl("Panel1")
> a seconda di dove si trovi il controllo.
tieni sempre presente che lavorare con le stringhe non è mail il massimo, perche' devi ricordarti di cambiarle a mano quando cambi i nomi dei controlli, mentre se lavori con nomi di oggetti puoi sfruttare il refactoring di visual studio e sai che non avrai problemi a runtime, inquanto avresti problemi in fase di compilazione
>2 esempio:Master.FindControl("ctl00$ModalPopupExtender3");
>si può scrivere anche lo UniqueId al posto del id del controllo
>server.
>Lo UniqueID l'ho trovato facendo il trace della pagina.
quel "ctl00$ModalPopupExtender3" non è latoserver, il codice che invece viene eseguito con "Master.FindControl(" è lato server, quindi li dentro devi dirgli il nome che ha a design time.
Se invece sei nel caso di dover andare a prendere qualcosa contenuto dentro a Repeater (o controlli del genere) devi andare a fare il "FindControl("IDdelSingoloTag")) nell'evento "OnItemDataBound", ovvero per ogni riga che sta' visualizzando.
Magari apriamo un altro thread che ne parliamo con calma, e in maniera piu' dettagliata se è questa la tua necessita'.
>Poi aprirò un thread per domandare se è possibile avere il trace
>quando scatta un
> evento.
>Mi piacerebbe ad esempio avere il trace quando diventa visibile,
>a seguito di evento
> onclick, un panel.
perfetto, apri il thread che cosi' ne discutiamo ben bene
>Forse la classe da usare è la System.Web.TraceContext
>- Quando uso lo uniqueID c'è la possibilità che il webserver
>cambi gli id nel rendering oppure gli UniqueID restano sempre uguali?
La proprieta' UniqueID è data a runtime per avere riferimento ad un oggetto, quando il runtime di asp.net gli cambia l'id nella generazione, diciamo che piu' che altro ti serve dal punto di vista "client", perche' se l'oggetto è lato server (quindi runat="server") ci accedi da intellisense con il nome che gli hai dato tu nella proprieta' "ID"
> - il cast in quel caso
> ((MasterPage)this.Master).PnlVisible = false;
>"... ti serve x dirgli che il tipo della tua master è quello
>tuo, ...." ;
> in VB
> come si casta (con ctype non mi riesce)?
prova con:
CType(Me.Master,MasterPage).PnlVisible = false
dove "MasterPage" è il nome della classe, se l'hai chiamata in un altro modo allora cambia con il nome tuo, ad esempio se aggiungi una pagina master che si chiama "miamasterpage.master" allora la classe di default ha il nome "miamasterpage", quindi sara' :
CType(Me.Master,miamasterpage).PnlVisible = false
ciao.
Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo