Partilhar via


Control.ClientIDMode Propriedade

Definição

Obtém ou define o algoritmo usado para gerar o valor da propriedade ClientID.

public:
 virtual property System::Web::UI::ClientIDMode ClientIDMode { System::Web::UI::ClientIDMode get(); void set(System::Web::UI::ClientIDMode value); };
[System.Web.UI.Themeable(false)]
public virtual System.Web.UI.ClientIDMode ClientIDMode { get; set; }
[<System.Web.UI.Themeable(false)>]
member this.ClientIDMode : System.Web.UI.ClientIDMode with get, set
Public Overridable Property ClientIDMode As ClientIDMode

Valor da propriedade

Um valor que indica como a propriedade ClientID é gerada. O padrão é Inherit.

Atributos

Exemplos

O exemplo a seguir mostra Label os controles contidos em um ListView controle . ListView No controle , a ClientIDMode propriedade é definida Predictable como e a ClientIDRowSuffix propriedade é definida ProductIDcomo . No HTML renderizado, isso cria três span elementos que correspondem a três ProductIDLabel controles. Quando a página é executada, os id atributos dos span elementos são definidos com os seguintes valores:

  • 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

ASP.NET fornece vários algoritmos de como gerar o valor da ClientID propriedade. Selecione qual algoritmo usar para um controle definindo sua ClientIDMode propriedade. Os algoritmos são identificados pelos ClientIDMode valores de enumeração listados na tabela a seguir.

Valor Descrição
AutoID 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 foi usado em versões de ASP.NET anteriores ao ASP.NET 4.
Static 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.
Predictable 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 ClientIDRowSuffix propriedade estiver em branco, um número sequencial será adicionado no final, em vez de um valor de campo de dados. Esse número começa em zero e é incrementado em 1 para cada linha. Cada segmento é separado por um caractere de sublinhado (_).
Inherit O controle herda a configuração ClientIDMode de seu controle NamingContainer.

O valor padrão de ClientIDMode para uma página é Predictable. O valor padrão de ClientIDMode para um controle é Inherit. Como o padrão para controles é Inherit, o modo de geração padrão é Predictable. (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.)

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