Aracılığıyla paylaş


Control.UniqueID Özellik

Tanım

Sunucu denetimi için benzersiz, hiyerarşik olarak 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

String

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 içindeki verilere ArrayList bir Repeater Web sunucusu denetimi bağlar. Kod, veri bağlama sırasında oluşturulan her alt denetimin ö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 denetimlerinin farklılaştırılmasında özellikle önemlidir. , , DataList, FormViewDetailsViewve GridView Web sunucusu denetimleri (Repeaterveya veri bağlı olduğunda yinelenen işlevler içeren oluşturduğunuz herhangi bir özel sunucu denetimi) olan yinelenen denetim, alt denetimleri için adlandırma kapsayıcısı görevi 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, bir sunucu denetimine bir ASP.NET Label Web sunucusu denetimi Repeater eklerseniz ve denetime Label bir ID özellik değeri MyLabelatarsanız ve öğesinin Repeater bir ID değerini MyRepeateratarsanı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$MyLabelolurMyRepeater$ctl00$MyLabel.ArrayList

Şunlara uygulanır

Ayrıca bkz.