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

String

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

Attribute

Beispiele

Die folgenden Beispiele zeigen ein Webbenutzersteuerelement, das sich in einer Inhaltsseite für eine Gestaltungsvorlage befindet. Das Benutzersteuerelement enthält ein Steuerelement und ein DropDownList Label Steuerelement. Der text, der im Steuerelement angezeigt wird, wird durch den Wert bestimmt, den der Benutzer aus dem Label DropDownList Steuerelement auswählt. Der Textwert wird über Clientskript festgelegt, sodass die Webseite nicht zurück zum 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 überall auf einer Webseite platziert werden kann, ist es unmöglich zu wissen, welche Benennungscontainer die Steuerelemente enthalten. Um sicherzustellen, dass der ClientID Wert identisch mit dem ID Wert ist, 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>

Im folgenden Beispiel wird die Gestaltungsvorlage gezeigt, 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 Elemente zu formatieren. Die folgende CSS-Formatvorlageregel wählt beispielsweise alle span Elemente aus, die den id Attributwert ProductIDLabel aufweisen und ihr background-color Attribut whiteauf :

span#ProductIDLabel { background-color: white; }

ASP.NET stellt mehrere Algorithmen bereit, um den ClientID Eigenschaftswert zu generieren. Sie wählen aus, welche Algorithmus für ein Steuerelement verwendet werden soll, indem Sie die ClientIDMode Eigenschaft festlegen. Die Algorithmen werden durch die Aufzählungswerte identifiziert, die ClientIDMode 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 eine sequenzielle Zahl am Ende anstelle eines Datenfeldwerts hinzugefügt. Die einzelnen Segmente werden durch einen Unterstrich (_) getrennt.
Inherit Das Steuerelement erbt die ClientIDMode-Einstellung seines NamingContainer-Steuerelements.

Der Standardwert ClientIDMode für eine Seite ist Predictable. Der Standardwert ClientIDMode für ein Steuerelement ist Inherit. Da die Standardeinstellung für Steuerelemente lautet, ist InheritPredictableder Standardgenerierungsmodus . (Wenn Sie jedoch Visual Studio verwenden, um ein Webprojekt in ASP.NET 4 aus einer früheren Version zu konvertieren, Visual Studio die Website standardmäßig AutoID in der datei Web.config festgelegt.)

Weitere Informationen finden Sie unter Steuerelementidentifikation in Web Forms.

Gilt für

Siehe auch