Control.ClientID 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 o ID de controlo para a 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 de Propriedade
O ID de controlo para marcação HTML gerado pelo ASP.NET.
- Atributos
Exemplos
Os exemplos seguintes mostram um controlo de utilizador Web que está dentro de uma página de conteúdo para uma página-mestre. O controlo do utilizador contém um DropDownList controlo e um Label controlo. O texto que é exibido no Label controlo é determinado pelo valor que o utilizador seleciona do DropDownList controlo. O valor do texto é definido através de script cliente para que a página Web não tenha de ser publicada de volta ao servidor para definir esse valor. Para obter uma referência ao elemento HTML que é renderizado para o Label controlo no script do cliente, é necessário conhecer o valor da propriedade do ClientID controlo. No entanto, como o controlo do utilizador pode ser colocado em qualquer lugar de uma página Web, é impossível saber antecipadamente quais os contentores de nomes que conterão os controlos. Para garantir que o ClientID valor será igual ao ID valor, o código define o ClientIDMode valor para Static.
O exemplo seguinte mostra o controlo do utilizador.
<%@ 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 seguinte mostra a página de conteúdo que contém o controlo do utilizador.
<%@ 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 seguinte 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>
Observações
Quando um controlo de servidor Web é renderizado como um elemento HTML, o id atributo do elemento HTML é definido para o valor da ClientID propriedade. O ClientID valor é frequentemente usado para aceder ao elemento HTML no script cliente através do document.getElementById método. O ID é também frequentemente usado em regras CSS para especificar elementos a estilar. Por exemplo, a seguinte regra de estilo CSS seleciona todos os span elementos que têm o id valor de atributo de ProductIDLabel e define o seu background-color atributo como white:
span#ProductIDLabel { background-color: white; }
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. 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.
Aplica-se a
Ver também
- NamingContainer
- ID
- INamingContainer
- ASP.NET Identificação de Controlo
- Como fazer: Controlos de Acesso a partir do JavaScript por ID
- Guia: Facilitar o acesso aos controlos Data-Bound a partir do JavaScript
- Guia: Facilitar o acesso aos controlos localizados nos controlos do utilizador web a partir do JavaScript
- Client Script em ASP.NET páginas web