ClientIDMode Enumeração

Definição

Especifica como ASP.NET gera o ClientID para um controlo que pode ser acedido no script do cliente.

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

Campos

Name Valor Description
Inherit 0

O controlo herda o ClientIDMode contexto do seu NamingContainer controlo.

AutoID 1

O ClientID valor é gerado concatenando os ID valores de cada contentor de nomeação pai com o ID valor do controlo. Em cenários de ligação de dados, onde múltiplas instâncias de um controlo são renderizadas, um valor incrementante é inserido à frente do valor do ID controlo. Cada segmento é separado por um carácter sublinhado (_). Este algoritmo é o único que estava disponível em versões do ASP.NET anteriores ao ASP.NET 4.

Predictable 2

Este algoritmo é usado para controlos que estão em controlos de dados vinculados. O ClientID valor é gerado concatenando o ClientID valor do contentor de nomeação pai com o ID valor do controlo. Se o controlo for um controlo limitado por dados que gera várias linhas, o valor do campo de dados especificado na ClientIDRowSuffix propriedade é somado no final. Para o GridView controlo, podem ser especificados múltiplos campos de dados. Se a ClientIDRowSuffix propriedade estiver em branco, é adicionado um número sequencial no final em vez do valor do campo de dados. Cada segmento é separado por um carácter sublinhado (_).

Static 3

O ClientID valor é definido para o valor da ID propriedade. Se o controlo for um contentor de nomenclatura, o controlo é usado como o topo da hierarquia de nomeação dos contentores para quaisquer controlos que contenha.

Exemplos

O exemplo seguinte mostra Label os controlos que estão contidos num ListView controlo. No ListView controlo, a ClientIDMode propriedade é definida como Previsível e a ClientIDRowSuffix propriedade é definida como ProductID. A partir do script cliente, podes aceder a uma instância particular de a Label com base no ProductID valor da instância que estás a tentar aceder.

Este exemplo cria HTML com três ProductIDLabel controlos. Quando a página é executada, os IDs dos controlos serão os 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>

Observações

Usas a ClientIDMode enumeração quando defines a ClientIDMode propriedade para um controlo. O valor que atribui à ClientIDMode propriedade determina como a ClientID propriedade é gerada. O valor da ClientID propriedade é apresentado como o id atributo na marcação, e é o valor que usas para aceder ao controlo do script do cliente. O valor que atribui à ClientIDMode propriedade não afeta a ID propriedade do controlo do 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 controlo é Herdar.

Como o modo de geração por defeito é Herdar, o modo de geração predefinido é Previsível. (No entanto, se usar Visual Studio para converter um projeto Web para ASP.NET 4 a partir de uma versão anterior, Visual Studio define automaticamente o site como AutoID no ficheiro Web.config.)

Pode definir o ClientIDMode valor de todas as páginas de um site definindo o elemento páginas no ficheiro Web.config do site. Pode definir o ClientIDMode valor de uma página na diretiva @ Page .

Para obter mais informações, consulte ASP.NET Identificação de controle de servidor Web.

Aplica-se a

Ver também