Compartir por


ClientIDMode Enumeración

Definición

Especifica cómo ASP.NET genera el ClientID para un control al que se puede acceder en el script de cliente.

public enum class ClientIDMode
public enum ClientIDMode
type ClientIDMode = 
Public Enum ClientIDMode
Herencia
ClientIDMode

Campos

Nombre Valor Description
Inherit 0

El control hereda la ClientIDMode configuración de su NamingContainer control.

AutoID 1

El ClientID valor se genera mediante la concatenación de los ID valores de cada contenedor de nomenclatura primario con el ID valor del control. En escenarios de enlace de datos en los que se representan varias instancias de un control, se inserta un valor de incremento delante del valor del ID control. Cada segmento está separado por un carácter de subrayado (_). Este algoritmo es el único que estaba disponible en versiones de ASP.NET anteriores a ASP.NET 4.

Predictable 2

Este algoritmo se usa para los controles que están en controles enlazados a datos. El ClientID valor se genera mediante la concatenación del ClientID valor del contenedor de nomenclatura principal con el ID valor del control. Si el control es un control enlazado a datos que genera varias filas, el valor del campo de datos especificado en la ClientIDRowSuffix propiedad se agrega al final. Para el GridView control, se pueden especificar varios campos de datos. Si la ClientIDRowSuffix propiedad está en blanco, se agrega un número secuencial al final en lugar de un valor de campo de datos. Cada segmento está separado por un carácter de subrayado (_).

Static 3

El ClientID valor se establece en el valor de la ID propiedad . Si el control es un contenedor de nomenclatura, el control se usa como la parte superior de la jerarquía de contenedores de nomenclatura para los controles que contiene.

Ejemplos

En el ejemplo siguiente se muestran Label los controles contenidos en un ListView control . En el ListView control , la ClientIDMode propiedad se establece en Predictable y la ClientIDRowSuffix propiedad se establece en ProductID. Desde el script de cliente, puede tener acceso a una instancia determinada de en Label función del valor de la instancia a la ProductID que intenta acceder.

En este ejemplo se crea HTML con tres ProductIDLabel controles. Cuando se ejecuta la página, los identificadores de los controles serán los siguientes:

  • ListView1_ProductIDLabel_1
  • ListView1_ProductIDLabel_34
  • ListView1_ProductIDLabel_43
<asp:XmlDataSource ID="XmlDataSource1" runat="server" 
                   XPath="Products/Product">
  <Data>
    <Products>
      <Product ProductID="1"  ProductName="Chai" />
      <Product ProductID="34" ProductName="Ale" />
      <Product ProductID="43" ProductName="Coffee" />
    </Products>
  </Data>
</asp:XmlDataSource>

<asp:ListView ID="ListView1" 
              ClientIDMode="Predictable" 
              ClientIDRowSuffix="ProductID"  
              DataSourceID="XmlDataSource1" runat="server" >
  <ItemTemplate>
    ProductID: 
    <asp:Label ID="ProductIDLabel" runat="server" 
               Text='<%# Eval("ProductID") %>' />
    <br />
    ProductName:
    <asp:Label ID="ProductNameLabel" runat="server" 
               Text='<%# Eval("ProductName") %>' />
    <br />
    <br />
  </ItemTemplate>

  <LayoutTemplate>
    <div ID="itemPlaceholderContainer" runat="server">
      <span ID="itemPlaceholder" runat="server" />
    </div>
    <div>
    </div>
  </LayoutTemplate>
  
</asp:ListView>

Comentarios

La enumeración se usa ClientIDMode al establecer la ClientIDMode propiedad para un control . El valor que asigna a la ClientIDMode propiedad determina cómo se genera la ClientID propiedad. El valor de la ClientID propiedad se representa como el atributo en el id marcado y es el valor que se usa para acceder al control desde el script de cliente. El valor que asigna a la ClientIDMode propiedad no afecta a la ID propiedad del control de servidor, solo el id atributo del elemento HTML correspondiente.

El valor predeterminado de ClientIDMode para una página es Predecible. El valor predeterminado de ClientIDMode para un control es Inherit.

Dado que el valor predeterminado para los controles es Heredar, el modo de generación predeterminado es Predecible. (Sin embargo, si usa Visual Studio para convertir un proyecto web en ASP.NET 4 de una versión anterior, Visual Studio establece automáticamente el valor predeterminado del sitio en AutoID en el archivo Web.config).

Puede establecer el ClientIDMode valor de todas las páginas de un sitio web estableciendo el elemento pages en el archivo Web.config del sitio. Puede establecer el ClientIDMode valor de una página en la directiva @ Page .

Para obtener más información, consulte ASP.NET Identificación del control de servidor web.

Se aplica a

Consulte también