Teilen ü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 im Label Steuerelement angezeigte Text 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 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 Namenscontainer die Steuerelemente enthalten werden. Um sicherzustellen, dass der ClientID Wert mit dem ID Wert identisch ist, legt der Code den ClientIDMode Wert auf Staticfest.

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 -Methode auf das document.getElementById HTML-Element im Clientskript zuzugreifen. Die ID wird auch häufig in CSS-Regeln verwendet, um zu formatierende Elemente anzugeben. Die folgende CSS-Stilregel wählt beispielsweise alle span Elemente aus, die über den id Attributwert von ProductIDLabel verfügen, und legt ihr background-color Attribut auf whitefest:

span#ProductIDLabel { background-color: white; }

ASP.NET stellt mehrere Algorithmen zum Generieren des Eigenschaftswerts ClientID bereit. Sie wählen den Algorithmus aus, der 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 der einzelnen übergeordneten Benennungscontainer mit dem ID-Wert des Steuerelements verkettet werden In Datenbindungsszenarios, in denen mehrere Instanzen eines Steuerelements gerendert werden, wird vor dem ID-Wert des Steuerelements ein inkrementierender Wert eingefügt. Die einzelnen Segmente werden durch einen Unterstrich (_) 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, ist das Steuerelement für alle enthaltenen Steuerelemente das oberste Element in der Hierarchie von Benennungscontainern.
Predictable Dieser Algorithmus wird für Steuerelemente in datengebundenen Steuerelementen verwendet. 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. Die einzelnen Segmente werden durch einen Unterstrich (_) getrennt.
Inherit Das Steuerelement erbt die ClientIDMode-Einstellung seines NamingContainer-Steuerelements.

Der Standardwert von ClientIDMode für eine Seite ist Predictable. Der Standardwert von ClientIDMode für ein Steuerelement ist Inherit. Da der Standardwert für Steuerelemente ist, 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 der Web.config-Datei automatisch auf AutoID fest.)

Weitere Informationen finden Sie unter Steuerelementidentifikation in Web Forms.

Gilt für:

Weitere Informationen