Control.ClientID 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 a ID de controle de marcação HTML gerada pelo ASP.NET.
public:
virtual property System::String ^ ClientID { System::String ^ get(); };
[System.ComponentModel.Browsable(false)]
public virtual string ClientID { get; }
[<System.ComponentModel.Browsable(false)>]
member this.ClientID : string
Public Overridable ReadOnly Property ClientID As String
Valor da propriedade
A ID do controle de marcação HTML gerada pelo ASP.NET.
- Atributos
Exemplos
Os exemplos a seguir mostram um controle de usuário da Web que está dentro de uma página de conteúdo para uma página mestra. O controle de usuário contém um DropDownList controle e um Label controle . O texto exibido no Label controle é determinado pelo valor que o usuário seleciona no DropDownList controle. O valor de texto é definido por meio do script do cliente para que a página da Web não precise postar de volta no servidor para definir esse valor. Para obter uma referência ao elemento HTML renderizado para o Label controle no script de cliente, você deve saber o valor da propriedade do ClientID controle. No entanto, como o controle de usuário pode ser colocado em qualquer lugar em uma página da Web, é impossível saber com antecedência quais contêineres de nomenclatura conterão os controles. Para garantir que o ClientID valor seja o mesmo que o ID valor , o código define o ClientIDMode valor como Static.
O exemplo a seguir mostra o controle de usuário.
<%@ Control AutoEventWireup="true" %>
<script type="text/javascript">
var seasonalSports = new Array("None selected",
"Tennis",
"Volleyball",
"Baseball",
"Skiing");
function DisplaySport(x) {
document.getElementById("SelectedSport").innerHTML
= seasonalSports[x];
}
</script>
<asp:DropDownList ID="DropDownList1" runat="server"
onchange="DisplaySport(this.selectedIndex);">
<asp:ListItem Value="Select a season"></asp:ListItem>
<asp:ListItem Value="Spring"></asp:ListItem>
<asp:ListItem Value="Summer"></asp:ListItem>
<asp:ListItem Value="Autumn"></asp:ListItem>
<asp:ListItem Value="Winter"></asp:ListItem>
</asp:DropDownList>
<br />
<asp:Label ID="SelectedSport" runat="server" ClientIDMode="Static">
</asp:Label>
O exemplo a seguir mostra a página de conteúdo que contém o controle de usuário.
<%@ Page Title="" MasterPageFile="~/Seasons.master" AutoEventWireup="true" %>
<%@ Register Src="Seasons.ascx" TagName="Seasons" TagPrefix="uc1" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
<uc1:Seasons ID="Seasons1" runat="server" />
</asp:Content>
O exemplo a seguir mostra a página mestra que contém a página de conteúdo.
<%@ Master AutoEventWireup="true" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<asp:ContentPlaceHolder id="head" runat="server">
</asp:ContentPlaceHolder>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
</div>
</form>
</body>
</html>
Comentários
Quando um controle de servidor Web é renderizado como um elemento HTML, o id
atributo do elemento HTML é definido como o valor da ClientID propriedade . O ClientID valor geralmente é usado para acessar o elemento HTML no script do cliente usando o document.getElementById
método . A ID também é frequentemente usada em regras CSS para especificar elementos para o estilo. Por exemplo, a regra de estilo CSS a seguir seleciona todos os span
elementos que têm o id
valor de atributo de ProductIDLabel
e define seu background-color
atributo como white
:
span#ProductIDLabel { background-color: white; }
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. 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
- NamingContainer
- ID
- INamingContainer
- Identificação do controle ASP.NET
- Como acessar controles do JavaScript por ID
- Passo a passo: tornando os controles de Data-Bound mais fáceis de acessar do JavaScript
- Passo a passo: tornando os controles localizados em controles de usuário da Web mais fáceis de acessar do JavaScript
- Script do cliente em páginas da Web ASP.NET