Control.ClientIDMode Propriedade
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Obtém ou define o algoritmo que é 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 de Propriedade
Um valor que indica como a ClientID propriedade é gerada. A predefinição é Inherit.
- Atributos
Exemplos
O exemplo seguinte mostra Label os controlos que estão contidos num ListView controlo. No ListView controlo, a ClientIDMode propriedade é definida como Predictable e a ClientIDRowSuffix propriedade é definida como ProductID. No HTML renderizado, isto cria três span elementos que correspondem a três ProductIDLabel controlos. Quando a página é executada, os id atributos dos span elementos são definidos nos 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>
Observações
ASP.NET fornece múltiplos algoritmos para gerar o valor da propriedade ClientID. Seleciona qual o algoritmo a usar para um controlo definindo a sua ClientIDMode propriedade. Os algoritmos são identificados pelos ClientIDMode valores de enumeração que estão listados na tabela seguinte.
| Value | Description |
|---|---|
| AutoID | 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 foi utilizado em versões do ASP.NET anteriores ao ASP.NET 4. |
| Static | 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. |
| Predictable | 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 de um valor no campo de dados. Este número começa em zero e é incrementado por 1 para cada linha. Cada segmento é separado por um carácter sublinhado (_). |
| Inherit | O controlo herda o ClientIDMode contexto do seu NamingContainer controlo. |
O valor padrão de ClientIDMode para uma página é Predictable. O valor padrão de ClientIDMode para um controlo é Inherit. Como o modo de geração por defeito é Inherit, o modo de geração por defeito é Predictable. (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 por defeito para AutoID no ficheiro Web.config.)
Para obter mais informações, consulte ASP.NET Identificação de controle de servidor Web.