Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original
Este tema aún no ha recibido ninguna valoración - Valorar este tema

Control.NamingContainer (Propiedad)

Obtiene una referencia al contenedor de nomenclatura del control de servidor, que crea un espacio de nombres único para distinguir entre los controles de servidor con el mismo valor de propiedad de Control.ID .

Espacio de nombres:  System.Web.UI
Ensamblado:  System.Web (en System.Web.dll)
[BrowsableAttribute(false)]
[BindableAttribute(false)]
public virtual Control NamingContainer { get; }

Valor de propiedad

Tipo: System.Web.UI.Control
El contenedor de nomenclatura del control de servidor.

Cada página de una aplicación web ASP.NET contiene una jerarquía de controles. Esta jerarquía no está dependiente activado si un control representa la interfaz de usuario visible al usuario. El contenedor de nomenclatura para un determinado control es el control principal sobre él en la jerarquía que implementa la interfaz de INamingContainer . un control de servidor que implementa esta interfaz crea un espacio de nombres único por los valores de propiedad de ID de sus controles de servidor secundarios. Puede utilizar la propiedad de NamingContainer de controles secundarios de un contenedor de nomenclatura para obtener una referencia al contenedor primario.

Crear un espacio de nombres único para los controles de servidor es particularmente importante cuando enlaza los controles de servidor Web a los datos, como los controles de servidor de Repeater y de DataList . Cuando varias entradas en el origen de datos crean varias instancias de un control de servidor que es un elemento secundario del control de repetición, el contenedor de nomenclatura garantiza que cada instancia de estos controles secundarios tienen valores de propiedad de UniqueID que no están en conflicto. El contenedor de nomenclatura predeterminado para una página es la instancia de la clase de Page que se genera cuando se solicita la página.

La propiedad de ClientID contiene el valor que se representa como el atributo de id de elemento en el formato HTML. Dependiendo del valor que se asigna a la propiedad de ClientIDMode , el valor que se generan para la propiedad de ClientID podría incluir el identificador de objeto de NamingContainer . Cuando se ClientIDMode establecido en Static, el valor de ClientID no incluye el identificador de objeto de NamingContainer . Cuando se ClientIDMode establecido en AutoID o a Predictable, el valor de ClientID incluirá el identificador de objeto de NamingContainer . Para obtener más información, vea ASP.NET Control Identification.

El ejemplo siguiente muestra cómo utilizar la propiedad de NamingContainer .


<% @ Import Namespace = "System.Data"  %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
   <head>
    <title>
            Control NamingContainer Example
         </title>
<script language="C#" runat="server">
      // Build the DataSource.
      ICollection CreateDataSource()
      {
         DataTable myDataTable = new DataTable();
         DataRow myDataRow;
         myDataTable.Columns.Add(new DataColumn("EmployeeName", typeof(string)));
         for (int i = 0; i < 10; i++) 
         {
            myDataRow = myDataTable.NewRow();
            myDataRow[0] = "somename" + i.ToString();
            myDataTable.Rows.Add(myDataRow);
         }
         DataView myDataView = new DataView(myDataTable);
         return myDataView;
      }

      void Page_Load(Object sender, EventArgs e) 
      {
         if (!IsPostBack) 
         {
            // Bind 'DataView' to the DataSource.
            myDataList.DataSource = CreateDataSource();
            myDataList.DataBind();
         }
         // Attach EventHandler for SelectedIndexChanged event.
         myDataList.SelectedIndexChanged += new EventHandler(selectedItemChanged);
      }

      // Handler function for 'SelectedIndexChanged' event.
      void selectedItemChanged(Object sender,EventArgs e)
      {
         DataListItem myCurrentItem = myDataList.SelectedItem;
         Control myNamingContainer = myCurrentItem.Controls[0].NamingContainer;
         // Display the NamingContainer.
         myLabel1.Text = "The NamingContainer is : " + myNamingContainer.UniqueID;
         // Display the UniqueID.
         myLabel2.Text = "The UniqueID is : " + ((Control)(myCurrentItem.Controls[0])).UniqueID;
      }      

    </script>
   </head>
   <body>
      <form runat="server" id="Form1">
         <h3>
            Control NamingContainer Example
         </h3>
         <h4>
            Click an item to view it's Naming Container and UniqueID
         </h4>
         <asp:Label ID="myLabel1" Runat="server"></asp:Label>
         <br />
         <asp:Label ID="myLabel2" Runat="server"></asp:Label>
         <br />
         <asp:DataList id="myDataList" runat="server" BorderColor="black">
            <HeaderStyle BackColor="#aaaadd"></HeaderStyle>
            <SelectedItemStyle BackColor="lightgreen"></SelectedItemStyle>
            <HeaderTemplate>
               EmployeeName
            </HeaderTemplate>
            <ItemTemplate>
               <asp:LinkButton id="button1" Text='<%# DataBinder.Eval(Container.DataItem, "EmployeeName") %>' CommandName="select" runat="server" />
               &nbsp;&nbsp;&nbsp;&nbsp;
            </ItemTemplate>
         </asp:DataList>
      </form>
   </body>
</html>


.NET Framework

Compatible con: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
¿Te ha resultado útil?
(Caracteres restantes: 1500)

Adiciones de comunidad

AGREGAR
© 2013 Microsoft. Reservados todos los derechos.