Compartilhar via


ClientIDMode Enumeração

Definição

Especifica como o ASP.NET gera o ClientID para um controle que pode ser acessado no script de cliente.

public enum class ClientIDMode
public enum ClientIDMode
type ClientIDMode = 
Public Enum ClientIDMode
Herança
ClientIDMode

Campos

AutoID 1

O valor ClientID é gerado concatenando os valores ID de cada contêiner de nomenclatura pai com o valor ID do controle. Em cenários com associação de dados em que várias instâncias de um controle são renderizadas, um valor incrementado é inserido na frente do valor ID do controle. Cada segmento é separado por um caractere de sublinhado (_). Esse algoritmo é o único que estava disponível em versões do ASP.NET anteriores ao ASP.NET 4.

Inherit 0

O controle herda a configuração ClientIDMode de seu controle NamingContainer.

Predictable 2

Esse algoritmo é usado para controles que estão em controles com associação de dados. O valor ClientID é gerado concatenando o valor ClientID do contêiner de nomenclatura pai com o valor ID do controle. Se o controle for um controle associado a dados que gera várias linhas, o valor do campo de dados especificado na propriedade ClientIDRowSuffix será adicionado ao final. Para o controle GridView, vários campos de dados podem ser especificados. Se a propriedade ClientIDRowSuffix estiver em branco, um número sequencial será adicionado ao final, em vez de um valor de campo de dados. Cada segmento é separado por um caractere de sublinhado (_).

Static 3

O valor ClientID é definido como o valor da propriedade ID. Se o controle for um contêiner de nomenclatura, ele será usado como a parte superior da hierarquia de contêineres de nomenclatura para todos os controles que contiver.

Exemplos

O exemplo a seguir mostra Label os controles contidos em um ListView controle . ListView No controle , a ClientIDMode propriedade é definida como Previsível e a ClientIDRowSuffix propriedade é definida ProductIDcomo . No script do cliente, você pode acessar uma instância específica de um Label com base no ProductID valor da instância que você está tentando acessar.

Este exemplo cria HTML com três ProductIDLabel controles. Quando a página for executada, as IDs dos controles serão as seguintes:

  • 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>

Comentários

Você usa a ClientIDMode enumeração ao definir a ClientIDMode propriedade para um controle . O valor que você atribui à ClientIDMode propriedade determina como a ClientID propriedade é gerada. O valor da ClientID propriedade é renderizado como o id atributo na marcação e é o valor que você usa para acessar o controle do script do cliente. O valor que você atribui à ClientIDMode propriedade não afeta a ID propriedade do controle de servidor, apenas o id atributo do elemento HTML correspondente.

O valor padrão de ClientIDMode para uma página é Previsível. O valor padrão de ClientIDMode para um controle é Inherit.

Como o padrão para controles é Herdar, o modo de geração padrão é Previsível. (No entanto, se você usar o Visual Studio para converter um projeto Web em ASP.NET 4 de uma versão anterior, o Visual Studio definirá automaticamente o padrão do site como AutoID no arquivo Web.config.)

Você pode definir o ClientIDMode valor para todas as páginas em um site definindo o elemento pages no arquivo Web.config do site. Você pode definir o ClientIDMode valor de uma página na diretiva @ Page .

Para obter mais informações, consulte ASP.NET Web Server Control Identification (Identificação de controles do servidor Web do ASP.NET).

Aplica-se a

Confira também