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 ArrayList crea un objeto y se rellena con tres cadenas de texto y, a Repeater continuación, se enlaza un control de servidor ArrayList web con los datos de 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 UniqueID propiedad para 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 Label control y escribe sus UniqueID valores de propiedad 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 ID propiedad, en que la UniqueID propiedad 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 DetailsView, DataList FormView,, y GridView los 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 el contenedor de nomenclatura de sus controles secundarios.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 ID sus 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 Label servidor Web ASP.net en un Repeater control de servidor y asigna el Label control a ID ID un valor de MyLabelpropiedad de, Repeater y el 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 Repeater enlaza datos a un ArrayList objeto con tres entradas, las propiedades resultantes UniqueID de cada instancia de los Label controles de servidor 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: