Ottiene o imposta l'algoritmo utilizzato per generare il valore della proprietà ClientID.
Assembly: System.Web (in System.Web.dll)
<ThemeableAttribute(False)> _ Public Overridable Property ClientIDMode As ClientIDMode Get Set
[ThemeableAttribute(false)] public virtual ClientIDMode ClientIDMode { get; set; }
[ThemeableAttribute(false)] public: virtual property ClientIDMode ClientIDMode { ClientIDMode get (); void set (ClientIDMode value); }
[<ThemeableAttribute(false)>] abstract ClientIDMode : ClientIDMode with get, set [<ThemeableAttribute(false)>] override ClientIDMode : ClientIDMode with get, set
Valore proprietà
Tipo: System.Web.UI.ClientIDModeValore che indica in che modo viene generata la proprietà ClientID. Il valore predefinito è Inherit.
ASP.NET fornisce svariati algoritmi sulla generazione del valore della proprietà ClientID. Per selezionare quale algoritmo utilizzare per un controllo, impostare la relativa proprietà ClientIDMode. Gli algoritmi vengono identificati dai valori dell'enumerazione ClientIDMode elencati nella tabella seguente.
|
Value |
Oggetto di descrizione |
|---|---|
|
Il valore ClientID viene generato tramite la concatenazione dei valori ID di ogni contenitore di denominazione padre con il valore ID del controllo. In scenari di associazione a dati in cui viene eseguito il rendering di più istanze di un controllo, viene inserito un valore incrementale davanti al valore ID del controllo. Ogni segmento è separato da un carattere di sottolineatura (_). Questo algoritmo veniva utilizzato nelle versioni di ASP.NET precedenti ad ASP.NET 4. |
|
|
Il valore ClientID è impostato sul valore della proprietà ID. Se il controllo è un contenitore di denominazione, il controllo viene utilizzato come elemento principale della gerarchia di contenitori di denominazione per qualsiasi controllo contenuto. |
|
|
Questo algoritmo viene utilizzato per controlli inclusi in controlli associati a dati. Il valore ClientID viene generato tramite la concatenazione del valore ClientID del contenitore di denominazione padre con il valore ID del controllo. Se il controllo è un controllo associato a dati che genera più righe, il valore del campo dati specificato nella proprietà ClientIDRowSuffix viene aggiunto alla fine. Per il controllo GridView, è possibile specificare più campi dati. Se la proprietà ClientIDRowSuffix è vuota, viene aggiunto un numero sequenziale alla fine anziché un valore del campo dati. Questo numero inizia a zero e viene incrementato di 1 per ogni riga. Ogni segmento è separato da un carattere di sottolineatura (_). |
|
|
Il controllo eredita l'impostazione ClientIDMode del controllo padre. |
Il valore predefinito di ClientIDMode per una pagina è Predictable. Il valore predefinito di ClientIDMode per un controllo è Inherit. Poiché l'impostazione predefinita per i controlli è Inherit, la modalità di generazione predefinita è Predictable. Se tuttavia si utilizza Visual Studio per convertire un progetto Web da una versione precedente ad ASP.NET 4, in Visual Studio verrà impostato automaticamente l'attributo AutoID nel file Web.config.
Per ulteriori informazioni, vedere Identificazione dei controlli server Web ASP.NET.
Nell'esempio riportato di seguito vengono mostrati i controlli Label contenuti in un controllo ListView. Nel controllo ListView, la proprietà ClientIDMode è impostata su Predictable e la proprietà ClientIDRowSuffix è impostata su ProductID. Nel codice HTML di cui è stato eseguito il rendering, questo crea tre elementi span che corrispondono ai tre controlli ProductIDLabel. Quando la pagina è in esecuzione, gli attributi id per gli elementi span sono impostati sui valori seguenti:
-
ListView1_ProductIDLabel_1
-
ListView1_ProductIDLabel_34
-
ListView1_ProductIDLabel_43
<asp:XmlDataSource ID="XmlDataSource1" runat="server"
XPath="Products/Product">
<Data>
<Products>
<Product ProductID="1" ProductName="Chai" />
<Product ProductID="34" ProductName="Ale" />
<Product ProductID="43" ProductName="Coffee" />
</Products>
</Data>
</asp:XmlDataSource>
<asp:ListView ID="ListView1"
ClientIDMode="Predictable"
ClientIDRowSuffix="ProductID"
DataSourceID="XmlDataSource1" runat="server" >
<ItemTemplate>
ProductID:
<asp:Label ID="ProductIDLabel" runat="server"
Text='<%# Eval("ProductID") %>' />
<br />
ProductName:
<asp:Label ID="ProductNameLabel" runat="server"
Text='<%# Eval("ProductName") %>' />
<br />
<br />
</ItemTemplate>
<LayoutTemplate>
<div ID="itemPlaceholderContainer" runat="server">
<span ID="itemPlaceholder" runat="server" />
</div>
<div>
</div>
</LayoutTemplate>
</asp:ListView>
.NET Framework
Supportato in: 4Windows 7, Windows Vista SP1 o versione successiva, Windows XP SP3, 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.