Compartir vía


ClientIDMode Enumeración

Definición

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

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

Campos

AutoID 1

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

Inherit 0

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

Predictable 2

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

Static 3

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

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 ProductIDen . Desde el script de cliente, puede acceder a una instancia determinada de un Label en función del ProductID valor de la instancia a la que está intentando 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 se 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 tener acceso al control desde el script de cliente. El valor que se 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 Inherit, 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, vea Identificación de controles de formularios Web Forms.

Se aplica a

Consulte también