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

String

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 MyLabelvlastnosti , 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$MyLabela MyRepeater$ctl02$MyLabel.

Platí pro

Viz také