Freigeben über


Control.UniqueID Eigenschaft

Definition

Ruft den eindeutigen, hierarchisierten 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

String

Der vollqualifizierte Bezeichner für das Serversteuerelement.

Attribute

Beispiele

Im folgenden Beispiel wird ein ArrayList Objekt erstellt und mit drei Textzeichenfolgen aufgefüllt und dann ein Repeater Webserversteuerelement an die Daten gebunden ArrayList , wenn 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 ihre 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, in der 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 bei der Unterscheidung von Serversteuerelementen in einem Datenbindungsserversteuerelement, das wiederholt wird. Das wiederholte Steuerelement, das Repeatersteuerelemente ,, DetailsViewDataListFormViewund GridView Webserversteuerelemente (oder beliebige 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 es einen eindeutigen Namespace für seine untergeordneten Steuerelemente erstellt, damit ihre ID Eigenschaftswerte nicht konflikten.

Wenn Sie z. B. ein ASP.NET Label Webserversteuerelement in ein Repeater Serversteuerelement einschließen und das Label Steuerelement einen ID Eigenschaftswert von MyLabel, und eine Repeater ID 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

Siehe auch