Control.ClientID Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera identyfikator kontrolki dla znaczników HTML generowanych przez 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
Wartość właściwości
Identyfikator kontrolki dla znaczników HTML generowanych przez ASP.NET.
- Atrybuty
Przykłady
W poniższych przykładach pokazano kontrolkę użytkownika sieci Web, która znajduje się wewnątrz strony zawartości dla strony wzorcowej. Kontrolka użytkownika zawiera kontrolkę DropDownList i kontrolkę Label . Tekst wyświetlany w kontrolce Label jest określany przez wartość wybraną przez użytkownika z kontrolki DropDownList . Wartość tekstowa jest ustawiana za pomocą skryptu klienta, aby strona sieci Web nie musiała publikować z powrotem na serwerze, aby ustawić tę wartość. Aby uzyskać odwołanie do elementu HTML renderowanego dla Label kontrolki w skry skryptzie klienta, musisz znać wartość właściwości kontrolki ClientID . Jednak ponieważ kontrolka użytkownika może być umieszczana w dowolnym miejscu na stronie sieci Web, nie można wcześniej wiedzieć, które kontenery nazewnictwa będą zawierać kontrolki. Aby upewnić się, że ClientID wartość będzie taka sama jak ID wartość, kod ustawia ClientIDMode wartość na Static.
W poniższym przykładzie przedstawiono kontrolkę użytkownika.
<%@ 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>
W poniższym przykładzie pokazano stronę zawartości zawierającą kontrolkę użytkownika.
<%@ 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>
Poniższy przykład przedstawia stronę wzorcową zawierającą stronę zawartości.
<%@ 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>
Uwagi
Gdy kontrolka serwera sieci Web jest renderowana jako element HTML, id atrybut elementu HTML jest ustawiony na wartość ClientID właściwości. Ta ClientID wartość jest często używana do uzyskiwania dostępu do elementu HTML w skrydcie klienta przy użyciu document.getElementById metody . Identyfikator jest również często używany w regułach CSS do określania elementów do stylu. Na przykład następująca reguła stylu CSS wybiera wszystkie span elementy, które mają id wartość atrybutu ProductIDLabel i ustawia ich background-color atrybut na white:
span#ProductIDLabel { background-color: white; }
ASP.NET udostępnia wiele algorytmów do generowania ClientID wartości właściwości. Należy wybrać algorytm, który ma być używany dla kontrolki, ustawiając jego ClientIDMode właściwość. Algorytmy są identyfikowane przez ClientIDMode wartości wyliczenia wymienione w poniższej tabeli.
| Wartość | Opis |
|---|---|
| AutoID | Wartość ClientID jest generowana przez łączenie ID wartości każdego nadrzędnego kontenera nazewnictwa z ID wartością kontrolki. W scenariuszach powiązania danych, w których renderowanych jest wiele wystąpień kontrolki, wartość przyrostowa jest wstawiana przed wartością kontrolki ID . Każdy segment jest oddzielony znakiem podkreślenia (_). Ten algorytm był używany w wersjach ASP.NET wcześniejszych niż ASP.NET 4. |
| Static | Wartość ClientID jest ustawiona na wartość ID właściwości . Jeśli kontrolka jest kontenerem nazewnictwa, kontrolka jest używana jako górna część hierarchii kontenerów nazewnictwa dla wszystkich kontrolek, które zawiera. |
| Predictable | Ten algorytm jest używany do kontrolek, które znajdują się w kontrolkach powiązanych z danymi. Wartość ClientID jest generowana przez połączenie ClientID wartości nadrzędnego kontenera nazewnictwa z ID wartością kontrolki. Jeśli kontrolka jest kontrolką związaną z danymi, która generuje wiele wierszy, wartość pola danych określonego ClientIDRowSuffix we właściwości zostanie dodana na końcu. Dla kontrolki GridView można określić wiele pól danych. ClientIDRowSuffix Jeśli właściwość jest pusta, numer sekwencyjny zostanie dodany na końcu zamiast wartości pola danych. Każdy segment jest oddzielony znakiem podkreślenia (_). |
| Inherit | Kontrolka dziedziczy ClientIDMode ustawienie kontrolki NamingContainer . |
Wartość domyślna ClientIDMode strony to Predictable. Wartość domyślna kontrolki ClientIDMode to Inherit. Ponieważ domyślnym ustawieniem kontrolek jest Inherit, domyślnym trybem generowania jest Predictable. (Jeśli jednak używasz programu Visual Studio do konwertowania projektu internetowego na ASP.NET 4 z wcześniejszej wersji, program Visual Studio automatycznie ustawia domyślną AutoID witrynę w pliku Web.config).
Aby uzyskać więcej informacji, zobacz ASP.NET kontrola identyfikacji serwera WWW.
Dotyczy
Zobacz też
- NamingContainer
- ID
- INamingContainer
- identyfikacja kontrolek ASP.NET
- Instrukcje: kontrola dostępu z języka JavaScript według identyfikatora
- Przewodnik: ułatwianie dostępu do kontrolek Data-Bound za pomocą języka JavaScript
- Przewodnik: łatwiejsze uzyskiwanie dostępu za pomocą kontrolek znajdujących się w kontrolkach użytkownika sieci Web z poziomu języka JavaScript
- Skrypt klienta na stronach internetowych ASP.NET