Control.UniqueID Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Sunucu denetimi için benzersiz, hiyerarşik nitelenmiş tanımlayıcıyı alır.
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
Özellik Değeri
Sunucu denetimi için tam tanımlayıcı.
- Öznitelikler
Örnekler
Aşağıdaki örnek bir ArrayList nesne oluşturur ve bunu üç metin dizesiyle doldurur, ardından sayfa yüklendiğinde verilere ArrayList bir Repeater Web sunucusu denetimi bağlar. Kod, veri bağlama sırasında oluşturulan her alt denetim için özelliğini alır UniqueID . Kod, denetimin Label üç sürümünü oluşturur ve özellik değerlerini sayfaya yazar UniqueID .
<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>
Açıklamalar
Bu özellik özelliğinden ID farklıdır, çünkü UniqueID özelliği sunucu denetiminin adlandırma kapsayıcısının tanımlayıcısını içerir. Bu tanımlayıcı, bir sayfa isteği işlendiğinde otomatik olarak oluşturulur.
Bu özellik, yinelenen bir veri bağlama sunucu denetiminde yer alan sunucu denetimlerini ayırt etme konusunda özellikle önemlidir. , DataList, , FormViewDetailsView, ve GridView Web sunucusu denetimleri olan Repeateryinelenen denetim (veya veri bağlandığında yinelenen işlevsellik içeren oluşturduğunuz herhangi bir özel sunucu denetimi), alt denetimleri için adlandırma kapsayıcısı olarak görev görür. Bu, özellik değerlerinin çakışmaması için alt denetimleri ID için benzersiz bir ad alanı oluşturduğu anlamına gelir.
Örneğin, sunucu denetimine bir ASP.NET Label Web sunucusu denetimi Repeater eklerseniz ve denetime Label bir ID özellik değeri MyLabelatarsanız ve Repeater öğesinin MyRepeaterbir ID değerini atarsanız. 'a üç girişli bir nesneye Repeater veri bağlarsanız, sunucu denetimlerinin her örneği için sonuçta elde Label edilen UniqueID özellikler , MyRepeater$ctl01$MyLabelve MyRepeater$ctl02$MyLabelşeklindedirMyRepeater$ctl00$MyLabel.ArrayList