Control.UniqueID Control.UniqueID Control.UniqueID Control.UniqueID Property

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.

Ejemplos

En el ejemplo siguiente se crea un ArrayList objeto y lo rellena con tres cadenas de texto y, a continuación, enlaza un Repeater Web control de servidor a los datos en el 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 el UniqueID propiedad para cada control secundario generado 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 de la Label control y escribe sus UniqueID los valores de propiedad a 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 es distinta de la ID propiedad, en el que el UniqueID propiedad incluye el identificador para el 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 dentro de 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, FormView, y GridView Web los controles de servidor (o los controles de servidor personalizados que cree que incluyen funcionalidad de repetición enlazado datos), sirve como la contenedor de nomenclatura de su elemento secundario controles.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 los 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 ASP.NET Label Web control de servidor en un Repeater control de servidor y asigne el Label control un ID el valor de propiedad MyLabely el Repeater un 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 se enlazan datos a la Repeater a un ArrayList objeto con tres entradas, resultante UniqueID propiedades para cada instancia de la Label controles de servidor son MyRepeater$ctl00$MyLabel, MyRepeater$ctl01$MyLabel, y 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: