Originariamente inviato da pietro09
:master: Dato che non uso le Master scrivo non per risolvere il problema, ma per imparare qualcosa anche io.
Ho fatto questa prova. Ho caricato un UserControl (.ascx) nel master.
Dentro il master ho messo una procedura pubblica che fa da interfaccia tra la Content e la Master,

Public Sub MiaFunzione(ByVal point As Integer)
Me.orologio1.aLabelOrario.Font.Size = FontUnit.Point(point)
End Sub

ossia, invocando MiaFunzione dal Content, invoco un metodo dell'usercontro (orologio1)

la invoco così
DirectCast(Me.Master, prove_MasterPage).MiaFunzione(58)

nota che non posso invocare il metodo MiaFunzione direttamente da Master, ma debbo fare un cast esplicito alla classe vera.

Il secondo modo che ho trovato è questo.
Nella pagina Content metto un riferimento all'usercontrol
<%@ Reference Control="~/controlli_utente/orologio/orologio.ascx" %>

e da codice uso la reflection per invocare il metodo dell'uc.
Dim o As orologio = TryCast(Me.Master.FindControl("orologio1"), orologio)
If o IsNot Nothing Then
o.aLabelOrario.Font.Size = FontUnit.Point(36)
End If

:master: non so se serva, comunque ci ho provato



ps. questo è l'ultimo modo che ho trovato
nel master creo un proprietà pubblica a solo lettura che referenzia l'UC
Public ReadOnly Property orologio() As orologio
Get
Return Me.orologio1
End Get
End Property


nella pagina Content aggiungo la direttiva MasterType
<%@ MasterType VirtualPath="~/prove/MasterPage.master" %>
oltre al riferimento all'UC
<%@ Reference Control="~/controlli_utente/orologio/orologio.ascx" %>

e finalmente da codice posso invocare un metodo dell'UC
Me.Master.orologio.aLabelOrario.Font.Size = FontUnit.Point(36)

Ciao scusa ma mi son perso.
Prima un piccolo riepilogo x capire se ci siamo Capiti:

Master Page
-- Pagina Aspx
-- Panel
--- Usercontrol

questo è lo schema di chiamate un Pagina aspx che utilizza un Modello Master. Nella pagina aspx abbiamo un aspanel che dinamicamente tramite panel.controls.add("usercontrol.ascx"); inserisco il mio usercontrol.

Detto questo ho inserito nella mia pagina ASPX:

<%@ MasterType TypeName="MasterPage" %>
<%@ Reference Control="~/usercontrol.ascx"%>

dalla mia pagina ASCX

ho provato a richiamare il metodo ma non funziona nn trova. mi sfugge qualcosa?

Da tenere presente che quello che vorrei fare è nascondere un panel che sta nella master page.