Control.UniqueID Свойство

Определение

Возвращает уникальный идентификатор серверного элемента управления в иерархии.Gets the unique, hierarchically qualified identifier for the server control.

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

Значение свойства

String

Полный идентификатор серверного элемента управления.The fully qualified identifier for the server control.

Атрибуты

Примеры

В следующем примере создается ArrayList объект и заполняется тремя текстовыми строками, затем выполняется привязка Repeater серверного веб-элемента управления к данным в ArrayList при загрузке страницы.The following example creates an ArrayList object and populates it with three text strings, then binds a Repeater Web server control to the data in the ArrayList when the page is loaded. Код получает UniqueID свойство для каждого дочернего элемента управления, созданного во время привязки данных.The code gets the UniqueID property for each child control generated during data binding. Код создает три версии Label элемента управления и записывает значения их UniqueID свойств на страницу.The code generates three versions of the Label control and writes their UniqueID property values to the page.

<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>

Комментарии

Это свойство отличается от ID свойства, в котором UniqueID свойство содержит идентификатор для контейнера именования серверного элемента управления.This property differs from the ID property, in that the UniqueID property includes the identifier for the server control's naming container. Этот идентификатор создается автоматически при обработке запроса страницы.This identifier is generated automatically when a page request is processed.

Это свойство особенно важно для различения серверных элементов управления, содержащихся в серверном элементе управления привязки данных, который повторяется.This property is particularly important in differentiating server controls contained within a data-binding server control that repeats. Повторяющийся элемент управления,, Repeater , DataList DetailsView FormView и GridView веб-серверные элементы управления (или любые пользовательские серверные элементы управления, которые включают в себя повторяющуюся функциональность при привязке данных), служат контейнером именования для своих дочерних элементов управления.The repeating control, which are Repeater, DataList, DetailsView, FormView, and GridView Web server controls (or any custom server controls that you create that include repeating functionality when data bound), serves as the naming container for its child controls. Это означает, что он создает уникальное пространство имен для своих дочерних элементов управления, чтобы их ID значения свойств не конфликтовали.This means that it creates a unique namespace for its child controls so that their ID property values do not conflict.

Например, если включить Label Серверный веб-элемент управления ASP.NET в Repeater Серверный элемент управления и присвоить Label элементу управления ID значение свойства MyLabel , а Repeater также ID объект MyRepeater .For example, if you include an ASP.NET Label Web server control in a Repeater server control, and assign the Label control an ID property value of MyLabel, and the Repeater an ID of MyRepeater. При привязке данных к Repeater ArrayList объекту с тремя записями результирующими UniqueID свойствами для каждого экземпляра Label серверных элементов управления являются MyRepeater$ctl00$MyLabel , MyRepeater$ctl01$MyLabel и MyRepeater$ctl02$MyLabel .If you bind data to the Repeater to an ArrayList object with three entries, the resulting UniqueID properties for each instance of the Label server controls are MyRepeater$ctl00$MyLabel, MyRepeater$ctl01$MyLabel, and MyRepeater$ctl02$MyLabel.

Применяется к

См. также раздел