Control.UniqueID Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá jedinečný hierarchicky kvalifikovaný identifikátor pro ovládací prvek serveru.
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
Hodnota vlastnosti
Plně kvalifikovaný identifikátor ovládacího prvku serveru.
- Atributy
Příklady
Následující příklad vytvoří ArrayList objekt a naplní ho třemi textovými řetězci a pak vytvoří vazbu ovládacího prvku webového Repeater serveru k datům při ArrayList načtení stránky. Kód získá UniqueID vlastnost pro každý podřízený ovládací prvek vygenerovaný během datové vazby. Kód vygeneruje tři verze Label ovládacího prvku a zapíše jejich UniqueID
hodnoty vlastností na stránku.
<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>
Poznámky
Tato vlastnost se liší od ID vlastnosti v tom, že UniqueID vlastnost obsahuje identifikátor pro kontejner pojmenování ovládacího prvku serveru. Tento identifikátor se automaticky vygeneruje při zpracování žádosti o stránku.
Tato vlastnost je obzvláště důležitá při odlišování ovládacích prvků serveru obsažených v ovládacím prvku serveru vazby dat, který se opakuje. Opakující se ovládací prvek, který jsou Repeaterovládací prvky , , DataListDetailsView, FormViewa GridView webový server (nebo všechny vlastní ovládací prvky serveru, které vytvoříte, které zahrnují opakující se funkce při svázání dat), slouží jako kontejner pojmenování pro jeho podřízené ovládací prvky. To znamená, že pro podřízené ovládací prvky vytvoří jedinečný obor názvů, aby jejich ID hodnoty vlastností nebyly v konfliktu.
Pokud například zahrnete ovládací prvek webového serveru ASP.NET Label do ovládacího prvku serveru a přiřadíte Label ovládací prvek ID hodnotu MyLabel
vlastnosti , a Repeater hodnotu ID MyRepeater
.Repeater Pokud svážete data s Repeater ArrayList objektem se třemi položkami, výsledné UniqueID vlastnosti pro každou instanci serverových ovládacích Label prvků jsou MyRepeater$ctl00$MyLabel
, MyRepeater$ctl01$MyLabel
a MyRepeater$ctl02$MyLabel
.