Control.UniqueID Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
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 MyRepeater
zuweisen. Wenn Sie Daten an Repeater ein Objekt mit drei Einträgen binden, sind MyRepeater$ctl00$MyLabel
die resultierenden UniqueID Eigenschaften für jede Instanz der Label Serversteuerelemente , MyRepeater$ctl01$MyLabel
und MyRepeater$ctl02$MyLabel
ArrayList .