2012-06-21 11 views
6

Si la página maestra tiene una etiqueta con la etiqueta id1, ¿cómo puedo controlar esa identificación en la página de contenido? La identificación no se transmite, así que no puedo controlarla inherentemente. . Por ejemplo, si tengo un control con el ContentLabel ID i puede acceder a ella con solo escribir código ContentLabel (lo que estoy haciendo)Obtener ID del objeto Página maestra en la página de contenido

+0

Empecé una recompensa porque tengo curiosidad por saber si hay una respuesta mejor. Mi respuesta requiere más pasos de los que me gustaría y es una especie de pita en múltiples páginas de contenido. – canon

+0

@antisanity ¿Qué es un "pita"? – MikeTeeVee

+0

@MikeTeeVee Dolor en el ... _butt_. Simplemente parece que seleccionar un ** MasterPage ** debe establecer el ** MasterType ** por usted. – canon

Respuesta

10

Aquí hay dos opciones:

: asegúrese de que su contenido aspx especifica MasterType:

<%@ MasterType VirtualPath="~/yourMasterPageName.master" %> 

Hacer esto le permite a su página de contenido sabía qué esperar de su página maestra y le da intelliSense. Entonces, ahora puede continuar y exponer la propiedad de texto de la etiqueta en el código subyacente de la página maestra.

public string ContentLabelText 
{ 
    get { return contentLabel.Text; } 
    set { contentLabel.Text = value; } 
} 

A continuación, se puede acceder a él en su página de contenido de la página de código subyacente ala:

Master.ContentLabelText = "hah!"; 

o, : Puede acceder a la etiqueta a través de FindControl() así:

var contentLabel = Master.FindControl("contentLabel") as Label; 
+0

¿hay una mejor práctica o es esta la única manera? solo curiosidad – auwall12688

+0

No es que yo sepa ... así que estaré pendiente de otras respuestas. – canon

+0

Gracias, funciona perfecto. Soy nuevo en .NET. Programado por un tiempo, pero nunca en .NET o desarrollo web. – auwall12688

Cuestiones relacionadas