Proprietà Control.UniqueID (System.Web.UI)

Cambia visualizzazione:
ScriptFree
Riferimento a .NET Framework
Proprietà Control.UniqueID
Il presente articolo è stato tradotto manualmente. Per visualizzare questa pagina e contemporaneamente visualizzarne il contenuto in lingua inglese, passare alla visualizzazione semplificata.

Ottiene l'identificatore univoco qualificato gerarchicamente per il controllo server.

Spazio dei nomi:  System.Web.UI
Assembly:  System.Web (in System.Web.dll)
Sintassi

Visual Basic
<BrowsableAttribute(False)> _
Public Overridable ReadOnly Property UniqueID As String
	Get
C#
[BrowsableAttribute(false)]
public virtual string UniqueID { get; }
Visual C++
[BrowsableAttribute(false)]
public:
virtual property String^ UniqueID {
	String^ get ();
}
F#
[<BrowsableAttribute(false)>]
abstract UniqueID : string
[<BrowsableAttribute(false)>]
override UniqueID : string

Valore proprietà

Tipo: System.String
Identificatore completo per il controllo server.
Note

A differenza della proprietà ID, la proprietà UniqueID include l'identificatore per il contenitore dei nomi del controllo server. L'identificatore è generato automaticamente quando viene elaborata una richiesta di pagina.

Questa proprietà è particolarmente importante per distinguere i controlli server contenuti in un controllo server con associazione a dati ripetuto. I controlli ripetuti, che sono i controlli server Web Repeater, DataList, DetailsView, FormView e GridView o i controlli server personalizzati creati dall'utente per includere funzionalità ripetute quando sono associati ai dati, fungono da contenitori dei nomi per i controlli figlio. Questi tipi di controllo creano uno spazio dei nomi univoco per i controlli figlio in modo che i relativi valori della proprietà ID non siano in conflitto.

Ad esempio, si supponga di includere un controllo server Web ASP.NET Label in un controllo server Repeater e di assegnare al controllo Label un valore della proprietà ID uguale a MyLabel e al controllo Repeater un ID uguale a MyRepeater. Se si esegue l'associazione dati per il controllo Repeater a un oggetto ArrayList con tre voci, le proprietà UniqueID risultanti per ciascuna istanza dei controlli server Label sono MyRepeater$ctl00$MyLabel, MyRepeater$ctl01$MyLabel e MyRepeater$ctl02$MyLabel.

Esempi

Nell'esempio riportato di seguito viene creato un oggetto ArrayList e viene compilato con tre stringhe di testo, quindi i dati in ArrayList vengono associati a un controllo server Web Repeater quando la pagina viene caricata. Il codice ottiene la proprietà UniqueID per ogni controllo figlio generato durante l'associazione dati. Il codice genera tre versioni del controllo Label e scrive i relativi valori della proprietà UniqueID nella pagina.

Visual Basic

  <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>


C#

<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>


Informazioni sulla versione

.NET Framework

Supportato in: 4, 3.5, 3.0, 2.0, 1.1, 1.0
Piattaforme

Windows 7, Windows Vista SP1 o versione successiva, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (componenti di base del server non supportati), Windows Server 2008 R2 (componenti di base del server supportati con SP1 o versione successiva), Windows Server 2003 SP2

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.
Vedere anche

Riferimenti

ID