Freigeben über


Control.ClientID Eigenschaft

Definition

Ruft die Steuerelement-ID für HTML-Markup ab, das von ASP.NET generiert wird.

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

Eigenschaftswert

Die Steuerelement-ID für HTML-Markup, das von ASP.NET generiert wird.

Attribute

Beispiele

Die folgenden Beispiele zeigen ein Webbenutzersteuerelement, das sich innerhalb einer Inhaltsseite für eine Gestaltungsvorlage befindet. Das Benutzersteuerelement enthält ein DropDownList Steuerelement und ein Label Steuerelement. Der Text, der Label im Steuerelement angezeigt wird, wird durch den Wert bestimmt, den der Benutzer aus dem DropDownList Steuerelement auswählt. Der Textwert wird über das Clientskript festgelegt, sodass die Webseite nicht wieder auf dem Server posten muss, um diesen Wert festzulegen. Um einen Verweis auf das HTML-Element abzurufen, das für das Label Steuerelement im Clientskript gerendert wird, müssen Sie den Wert der Eigenschaft des Steuerelements ClientID kennen. Da das Benutzersteuerelement jedoch an einer beliebigen Stelle auf einer Webseite platziert werden kann, ist es unmöglich, im Voraus zu wissen, welche Benennungscontainer die Steuerelemente enthalten. Um sicherzustellen, dass der ClientID Wert mit dem ID Wert übereinstimmt, legt der Code den ClientIDMode Wert auf Static.

Das folgende Beispiel zeigt das Benutzersteuerelement.

<%@ 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>

Das folgende Beispiel zeigt die Inhaltsseite, die das Benutzersteuerelement enthält.

<%@ 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>

Das folgende Beispiel zeigt die Gestaltungsvorlage, die die Inhaltsseite enthält.

<%@ 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>

Hinweise

Wenn ein Webserversteuerelement als HTML-Element gerendert wird, wird das id Attribut des HTML-Elements auf den Wert der ClientID Eigenschaft festgelegt. Der ClientID Wert wird häufig verwendet, um mithilfe der document.getElementById Methode auf das HTML-Element im Clientskript zuzugreifen. Die ID wird auch häufig in CSS-Regeln verwendet, um Elemente zum Formatieren anzugeben. Die folgende CSS-Formatvorlagenregel wählt beispielsweise alle span Elemente aus, die ProductIDLabel den id Attributwert aufweisen, und legt ihr background-color Attribut auf folgendes festwhite:

span#ProductIDLabel { background-color: white; }

ASP.NET stellt mehrere Algorithmen zum Generieren des ClientID Eigenschaftswerts bereit. Sie wählen aus, welcher Algorithmus für ein Steuerelement verwendet werden soll, indem Sie dessen ClientIDMode Eigenschaft festlegen. Die Algorithmen werden durch die ClientIDMode Enumerationswerte identifiziert, die in der folgenden Tabelle aufgeführt sind.

Wert Beschreibung
AutoID Der ClientID Wert wird generiert, indem die ID Werte jedes übergeordneten Benennungscontainers mit dem ID Wert des Steuerelements verkettet werden. In Datenbindungsszenarien, in denen mehrere Instanzen eines Steuerelements gerendert werden, wird ein inkrementeller Wert vor dem Wert des Steuerelements ID eingefügt. Jedes Segment wird durch ein Unterstrichzeichen (_) getrennt. Dieser Algorithmus wurde in Versionen von ASP.NET früher als ASP.NET 4 verwendet.
Static Der ClientID Wert wird auf den Wert der ID Eigenschaft festgelegt. Wenn es sich bei dem Steuerelement um einen Benennungscontainer handelt, wird das Steuerelement als oberer Rand der Hierarchie von Benennungscontainern für alle darin enthaltenen Steuerelemente verwendet.
Predictable Dieser Algorithmus wird für Steuerelemente verwendet, die sich in datengebundenen Steuerelementen befinden. Der ClientID Wert wird generiert, indem der ClientID Wert des übergeordneten Benennungscontainers mit dem ID Wert des Steuerelements verkettet wird. Wenn es sich bei dem Steuerelement um ein datengebundenes Steuerelement handelt, das mehrere Zeilen generiert, wird der Wert des in der ClientIDRowSuffix Eigenschaft angegebenen Datenfelds am Ende hinzugefügt. Für das GridView Steuerelement können mehrere Datenfelder angegeben werden. Wenn die ClientIDRowSuffix Eigenschaft leer ist, wird am Ende anstelle eines Datenfeldwerts eine sequenzielle Zahl hinzugefügt. Jedes Segment wird durch ein Unterstrichzeichen (_) getrennt.
Inherit Das Steuerelement erbt die ClientIDMode Einstellung des NamingContainer Steuerelements.

Der Standardwert ClientIDMode für eine Seite lautet Predictable. Der Standardwert für ClientIDMode ein Steuerelement lautet Inherit. Da die Standardeinstellung für Steuerelemente lautet, ist InheritPredictableder Standardgenerierungsmodus . (Wenn Sie jedoch Visual Studio zum Konvertieren eines Webprojekts in ASP.NET 4 aus einer früheren Version verwenden, legt Visual Studio die Website in AutoID der datei Web.config automatisch fest.)

Weitere Informationen finden Sie unter ASP.NET Web Server Control Identification.

Gilt für:

Weitere Informationen