c# asp.net user-controls master-pages

c# - ¿Cómo acceder a un control de usuario en una página maestra desde una página de contenido?



asp.net user-controls (4)

Digamos que tengo un control de usuario de encabezado en una página maestra y quiero cambiar una propiedad del control de usuario dependiendo de qué página de contenido se cargue dentro de la página maestra. ¿Cómo puedo ir sobre esto?

¡Gracias!


Hay otro método, y es haciendo una propiedad pública en la página maestra que expone el control del usuario.


Usar una propiedad pública funcionaría. En el método FormLoad de la página de contenido, podría hacer algo como esto (VB):

Dim myMaster as MyMasterPage = CType(Page.Master, MyMasterPage) myMaster.MyUserControl.Text = "Hello!"


primero encuentre el control del usuario en la página maestra como se muestra a continuación. Luego encuentre el control que necesita para acceder a su propiedad.

UserControl uch = Page.Master.FindControl("ucHeader1") as UserControl; PlaceHolder phProxylist= ucHeader1.FindControl("phProxy") as PlaceHolder; DropDownList ddlproxylist1 = ucHeader1.FindControl("ddlProxyList") as DropDownList; phProxylist.Visible = false;

Espero que esto ayude.


Puedes usar dos métodos. El primero es mediante el uso de Page.Master.FindControl(''controlID'') . Luego puede convertirlo al tipo de control de usuario. El segundo método es agregar una <%@ MasterType VirtualPath=""> O <%@ MasterType TypeName=""%> a su página aspx. En VirtualPath agregue la ruta virtual a la página maestra o la clase en TypeName . A continuación, puede acceder a todo con intellisense.