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 pro ovládací prvek 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 Repeater ovládacího prvku webového serveru na data 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 vygeneruje automaticky při zpracování požadavku na 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 Repeater, DataList, DetailsViewFormViewa GridView webového serveru ovládací prvky (nebo jakékoli vlastní serverové ovládací prvky, které vytvoříte, které zahrnují opakující se funkce při vazbě dat), slouží jako kontejner pojmenování pro jeho podřízené ovládací prvky. To znamená, že vytvoří jedinečný obor názvů pro podřízené ovládací prvky tak, 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 MyLabelvlastnosti , a Repeater hodnotu IDMyRepeater.Repeater Pokud svážete data s Repeater objektem ArrayList 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$MyLabela MyRepeater$ctl02$MyLabel.