Cómo hacer referencia a los controles de una MasterPage en ASP.NET

Estrada Web Group
Administrador
Cómo hacer referencia a los controles de una MasterPage en ASP.NET

aprende a programar en ASP.NET

En este artículo veremos cómo hacer referencia a las propiedades de los controles de una página maestra desde nuestra página web.

 

Utilizaremos el método FindControl, para buscar y hacer referencia al control de la Página Maestra.

En el ejemplo siguiente se muestra el uso del método FindControl para obtener una referencia a dos controles de la página maestra, un control TextBox y un control Label. Dado que el control TextBox está dentro de un control ContentPlaceHolder, debe obtener primero una referencia a ContentPlaceHolder y, a continuación, utilizar su método FindControl para buscar el control TextBox.

VB

Dim mpContentPlaceHolder As ContentPlaceHolder
    Dim mpTextBox As TextBox
    mpContentPlaceHolder = _
        CType(Master.FindControl("ContentPlaceHolder1"), _
        ContentPlaceHolder)
    If Not mpContentPlaceHolder Is Nothing Then
        mpTextBox = CType(mpContentPlaceHolder. _
            FindControl("TextBox1"), TextBox)
        If Not mpTextBox Is Nothing Then
            mpTextBox.Text = "TextBox found!"
        End If
    End If

    ' Gets a reference to a Label control not in a 
    ' ContentPlaceHolder
    Dim mpLabel As Label
    mpLabel = CType(Master.FindControl("masterPageLabel"), Label)
    If Not mpLabel Is Nothing Then
        Label1.Text = "Master page label = " + mpLabel.Text
    End If

C#

// Gets a reference to a TextBox control inside 
    // a ContentPlaceHolder
    ContentPlaceHolder mpContentPlaceHolder;
    TextBox mpTextBox;
    mpContentPlaceHolder = 
      (ContentPlaceHolder)Master.FindControl("ContentPlaceHolder1");
    if(mpContentPlaceHolder != null)
    {
        mpTextBox = 
            (TextBox) mpContentPlaceHolder.FindControl("TextBox1");
        if(mpTextBox != null)
        {
            mpTextBox.Text = "TextBox found!";
        }
    }
    
    // Gets a reference to a Label control that not in 
    // a ContentPlaceHolder
    Label mpLabel = (Label) Master.FindControl("masterPageLabel");
    if(mpLabel != null)
    {
        Label1.Text = "Master page label = " + mpLabel.Text;
    }

 

Compartir artículo:

Más artículos geniales

Manténgase actualizado

Obtenga excelente contenido en su bandeja de entrada todas las semanas.
Solo contenido excelente, no compartimos su correo electrónico con terceros.
Subir al inicio de la pantalla ;