Sdílet prostřednictvím


Control.UniqueID Vlastnost

Definice

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.

Platí pro

Viz také