Control.UniqueID Propiedad

Definición

Obtiene el identificador único calificado jerárquicamente para el control de servidor.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; }
member this.UniqueID : string
Public Overridable ReadOnly Property UniqueID As String

Valor de propiedad

Identificador completo del control de servidor.The fully qualified identifier for the server control.

Atributos

Ejemplos

En el ejemplo siguiente se crea un objeto ArrayList y se rellena con tres cadenas de texto y, a continuación, se enlaza un control de servidor Web Repeater con los datos de la ArrayList cuando se carga la página.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. El código obtiene la propiedad UniqueID de cada control secundario que se genera durante el enlace de datos.The code gets the UniqueID property for each child control generated during data binding. El código genera tres versiones del control Label y escribe sus valores de propiedad UniqueID en la página.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>

Comentarios

Esta propiedad difiere de la propiedad ID, en que la propiedad UniqueID incluye el identificador del contenedor de nomenclatura del control de servidor.This property differs from the ID property, in that the UniqueID property includes the identifier for the server control's naming container. Este identificador se genera automáticamente cuando se procesa una solicitud de página.This identifier is generated automatically when a page request is processed.

Esta propiedad es especialmente importante para diferenciar los controles de servidor contenidos en un control de servidor de enlace de datos que se repite.This property is particularly important in differentiating server controls contained within a data-binding server control that repeats. El control de repetición, que son Repeater, DataList, DetailsView, FormViewy GridView controles de servidor Web (o cualquier control de servidor personalizado que se cree que incluya la funcionalidad de repetición cuando se enlazan los datos), actúa como contenedor de nomenclatura de su elemento secundario. permite.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. Esto significa que crea un espacio de nombres único para sus controles secundarios para que sus ID valores de propiedad no entren en conflicto.This means that it creates a unique namespace for its child controls so that their ID property values do not conflict.

Por ejemplo, si incluye un control de servidor Web ASP.NET Label en un control de servidor Repeater, y asigna el control Label un valor de la propiedad ID de MyLabely el Repeater una ID de 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. Si enlaza datos al Repeater a un objeto ArrayList con tres entradas, las propiedades de UniqueID resultantes de cada instancia de los controles de servidor de Label son MyRepeater$ctl00$MyLabel, MyRepeater$ctl01$MyLabely 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.

Se aplica a

Consulte también: