Freigeben über


Control.UniqueID Eigenschaft

Definition

Ruft den eindeutigen hierarchisch qualifizierten Bezeichner für das Serversteuerelement ab.

public:
 virtual property System::String ^ UniqueID { System::String ^ get(); };
[System.ComponentModel.Browsable(false)]
public virtual string UniqueID { get; }
[<System.ComponentModel.Browsable(false)>]
member this.UniqueID : string
Public Overridable ReadOnly Property UniqueID As String

Eigenschaftswert

Der vollqualifizierte Bezeichner für das Serversteuerelement.

Attribute

Beispiele

Im folgenden Beispiel wird ein ArrayList Objekt erstellt und mit drei Textzeichenfolgen aufgefüllt. Anschließend wird ein Repeater Webserversteuerelement an die Daten gebunden, wenn ArrayList die Seite geladen wird. Der Code ruft die Eigenschaft für jedes untergeordnete Steuerelement ab, das während der UniqueID Datenbindung generiert wird. Der Code generiert drei Versionen des Label Steuerelements und schreibt deren UniqueID Eigenschaftswerte auf die Seite.

<script language="c#" runat="server">
    
  void Page_Load(Object sender, EventArgs e) 
  {
      StringBuilder sb = new StringBuilder();
      sb.Append("Container: " + 
          MyDataList.NamingContainer.ToString() + "<p>");

      ArrayList a = new ArrayList();
      a.Add("A");
      a.Add("B");
      a.Add("C");

      MyDataList.DataSource = a;
      MyDataList.DataBind();

      for (int i = 0; i < MyDataList.Controls.Count; i++)
      {
          Label l = 
              (Label)((RepeaterItem)MyDataList.Controls[i]).FindControl("MyLabel");
          sb.Append("Container: " + 
              ((RepeaterItem)MyDataList.Controls[i]).NamingContainer.ToString() + 
              "<p>");
          sb.Append("<b>" + l.UniqueID + "</b><p>");
      }
      ResultsLabel.Text = sb.ToString();
}
</script>
  <script language="vb" runat="server">
      
      Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
          Dim sb As New StringBuilder()
          sb.Append("Container: " + _
          MyDataList.NamingContainer.ToString() + "<p>")

          Dim a As New ArrayList()
          a.Add("A")
          a.Add("B")
          a.Add("C")

          MyDataList.DataSource = a
          MyDataList.DataBind()
    
          Dim i As Integer
          Dim l As Label
          For i = 0 To MyDataList.Controls.Count - 1
              l = CType(CType(MyDataList.Controls(i), RepeaterItem).FindControl("MyLabel"), Label)
              sb.Append("Container: " & _
                 CType(MyDataList.Controls(i), RepeaterItem).NamingContainer.ToString() & _
                 "<p>")
              sb.Append("<b>" & l.UniqueID.ToString() & "</b><p>")
          Next
          ResultsLabel.Text = sb.ToString()
      End Sub
</script>

Hinweise

Diese Eigenschaft unterscheidet sich von der ID Eigenschaft, da die UniqueID Eigenschaft den Bezeichner für den Benennungscontainer des Serversteuerelements enthält. Dieser Bezeichner wird automatisch generiert, wenn eine Seitenanforderung verarbeitet wird.

Diese Eigenschaft ist besonders wichtig beim Unterscheiden von Serversteuerelementen, die in einem Datenbindungsserversteuerelement enthalten sind, das wiederholt wird. Das wiederholte Steuerelement, das Steuerelemente , Repeater, DataList, DetailsViewund FormViewGridView Webserver (oder benutzerdefinierte Serversteuerelemente, die Sie erstellen, die wiederholte Funktionalität enthalten, wenn Daten gebunden sind), dient als Benennungscontainer für seine untergeordneten Steuerelemente. Dies bedeutet, dass ein eindeutiger Namespace für seine untergeordneten Steuerelemente erstellt wird, sodass ihre ID Eigenschaftswerte nicht in Konflikt geraten.

Wenn Sie z. B. ein ASP.NET Label Webserver-Steuerelement in ein Repeater Serversteuerelement einschließen und das Label Steuerelement einen ID Eigenschaftswert von MyLabel, und das eines RepeaterID von MyRepeaterzuweisen. Wenn Sie Daten an Repeater ein Objekt mit drei Einträgen binden, sind MyRepeater$ctl00$MyLabeldie resultierenden UniqueID Eigenschaften für jede Instanz der Label Serversteuerelemente , MyRepeater$ctl01$MyLabelund MyRepeater$ctl02$MyLabelArrayList .

Gilt für:

Weitere Informationen