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

Definizione

Ottiene l'identificatore univoco qualificato gerarchicamente per il controllo server.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

Valore della proprietà

Identificatore completo per il controllo server.The fully qualified identifier for the server control.

Esempi

L'esempio seguente crea un ArrayList dell'oggetto e lo popola con tre stringhe di testo, quindi associa una Repeater ai dati nel controllo del server Web il ArrayList quando la pagina viene caricata.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. Ottiene il codice di UniqueID proprietà per ogni controllo figlio generato durante l'associazione dati.The code gets the UniqueID property for each child control generated during data binding. Il codice genera tre versioni del Label controllo e le scritture loro UniqueID i valori delle proprietà per la pagina.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>

Commenti

Questa proprietà è diverso dal ID proprietà, in quanto il UniqueID proprietà include l'identificatore per il controllo server contenitore di denominazione.This property differs from the ID property, in that the UniqueID property includes the identifier for the server control's naming container. Questo identificatore viene generato automaticamente quando viene elaborata una richiesta di pagina.This identifier is generated automatically when a page request is processed.

Questa proprietà è particolarmente importante per distinguere i controlli server contenuti all'interno di un controllo server di data binding che si ripete.This property is particularly important in differentiating server controls contained within a data-binding server control that repeats. Il controllo ripetuto, che sono Repeater, DataList, DetailsView, FormView, e GridView controllo server Web (o qualsiasi controlli server personalizzati creati che includono funzionalità ripetute quando i dati associati), viene utilizzato come il contenitore di denominazione per il bambino controlli.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. Ciò significa che crea uno spazio dei nomi univoco per il figlio dei controlli in modo che i ID i valori delle proprietà non sono in conflitto.This means that it creates a unique namespace for its child controls so that their ID property values do not conflict.

Ad esempio, se si include un ASP.NET Label controllo server nella Web un Repeater controllo server e assegnare il Label controllo un' ID valore della proprietà MyLabele la Repeater un ID di 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. Se si associano dati al Repeater a un ArrayList oggetto con tre voci, l'oggetto risultante UniqueID delle proprietà per ogni istanza del Label controlli server sono MyRepeater$ctl00$MyLabel, MyRepeater$ctl01$MyLabel, e 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.

Si applica a

Vedi anche