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

Définition

Obtient l'identificateur unique qualifié sur le plan hiérarchique du contrôle serveur.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

Valeur de propriété

Identificateur complet du contrôle serveur.The fully qualified identifier for the server control.

Exemples

L’exemple suivant crée un ArrayList objet et le remplit avec trois chaînes de texte, puis lie un Repeater contrôle serveur Web ArrayList aux données de lorsque la page est chargée.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. Le code obtient la UniqueID propriété pour chaque contrôle enfant généré pendant la liaison de données.The code gets the UniqueID property for each child control generated during data binding. Le code génère trois versions du Label contrôle et écrit leurs UniqueID valeurs de propriété dans la page.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>

Remarques

Cette propriété est différente de ID la propriété, en ce UniqueID que la propriété comprend l’identificateur pour le conteneur d’attribution de noms du contrôle serveur.This property differs from the ID property, in that the UniqueID property includes the identifier for the server control's naming container. Cet identificateur est généré automatiquement lors du traitement d’une demande de page.This identifier is generated automatically when a page request is processed.

Cette propriété est particulièrement importante dans la différenciation des contrôles serveur contenus dans un contrôle serveur de liaison de données qui se répète.This property is particularly important in differentiating server controls contained within a data-binding server control that repeats. Le contrôle répétitif, qui sont Repeater DetailsView, DataList FormView,,, et GridView les contrôles serveur Web (ou tous les contrôles serveur personnalisés que vous créez et qui incluent des fonctionnalités répétées lorsque les données sont liées), sert de conteneur d’attribution de noms pour ses contrôles enfants.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. Cela signifie qu’il crée un espace de noms unique pour ses contrôles enfants, ID de sorte que leurs valeurs de propriété ne sont pas en conflit.This means that it creates a unique namespace for its child controls so that their ID property values do not conflict.

Par exemple, si vous incluez un Label contrôle serveur Web ASP.net dans Repeater un contrôle serveur, et assignez ID au Label contrôle ID une MyLabelvaleur de propriété Repeater de et le 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 vous liez des données à Repeater un ArrayList objet à l’aide de trois entrées, UniqueID les propriétés résultantes pour chaque Label instance des contrôles MyRepeater$ctl00$MyLabelserveur MyRepeater$ctl01$MyLabelsont, MyRepeater$ctl02$MyLabelet.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.

S’applique à

Voir aussi