Control.ClientIDMode Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém ou define o algoritmo usado para gerar o valor da ClientID propriedade.
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 ClientID propriedade é 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 como ProductID. 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 para os seguintes valores:
ListView1_ProductIDLabel_1ListView1_ProductIDLabel_34ListView1_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 para 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 ClientID valor é gerado concatenando os ID valores de cada contêiner de nomenclatura pai com o ID valor do controle. Em cenários de associação de dados em que várias instâncias de um controle são renderizadas, um valor de incremento é inserido na frente do valor do ID controle. Cada segmento é separado por um caractere de sublinhado (_). Esse algoritmo foi usado em versões de ASP.NET anteriores à ASP.NET 4. |
| Static | O ClientID valor é definido como o valor da ID propriedade. Se o controle for um contêiner de nomenclatura, o controle será usado como a parte superior da hierarquia de contêineres de nomenclatura para quaisquer controles que ele contenha. |
| Predictable | Esse algoritmo é usado para controles que estão em controles associados a dados. O ClientID valor é gerado concatenando o ClientID valor do contêiner de nomenclatura pai com o ID valor do controle. Se o controle for um controle associado a dados que gera várias linhas, o valor do campo de dados especificado na ClientIDRowSuffix propriedade será adicionado no final. Para o GridView controle, 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 ClientIDMode configuração de seu NamingContainer controle. |
O valor padrão de ClientIDMode uma página é Predictable. O valor padrão de ClientIDMode 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 AutoID do site no arquivo Web.config.)
Para obter mais informações, consulte ASP.NET Identificação de Controle do Servidor Web.