Control.ClientID Proprietà

Definizione

Ottiene l'ID di controllo per il markup HTML generato da ASP.NET.

public:
 virtual property System::String ^ ClientID { System::String ^ get(); };
[System.ComponentModel.Browsable(false)]
public virtual string ClientID { get; }
[<System.ComponentModel.Browsable(false)>]
member this.ClientID : string
Public Overridable ReadOnly Property ClientID As String

Valore della proprietà

String

ID di controllo per il markup HTML generato da ASP.NET.

Attributi

Esempio

Negli esempi seguenti viene illustrato un controllo utente Web all'interno di una pagina di contenuto per una pagina master. Il controllo utente contiene un DropDownList controllo e un controllo Label . Il testo visualizzato nel controllo è determinato dal valore selezionato Label dall'utente dal DropDownList controllo . Il valore di testo viene impostato tramite script client in modo che la pagina Web non deve eseguire il post-back nel server per impostare questo valore. Per ottenere un riferimento all'elemento HTML di cui viene eseguito il rendering per il controllo nello script client, è necessario conoscere il valore della Label proprietà del ClientID controllo. Tuttavia, poiché il controllo utente può essere inserito in qualsiasi punto di una pagina Web, non è possibile sapere in anticipo quali contenitori di denominazione conterranno i controlli. Per assicurarsi che il valore sia uguale al valore , il codice ClientID imposta il valore su ID ClientIDMode Static .

Nell'esempio seguente viene illustrato il controllo utente.

<%@ Control AutoEventWireup="true" %>

<script type="text/javascript">
  var seasonalSports = new Array("None selected",
                                 "Tennis",
                                 "Volleyball",
                                 "Baseball",
                                 "Skiing");

  function DisplaySport(x) {
      document.getElementById("SelectedSport").innerHTML
      = seasonalSports[x];
  }    
</script>

<asp:DropDownList ID="DropDownList1" runat="server" 
                  onchange="DisplaySport(this.selectedIndex);">
  <asp:ListItem Value="Select a season"></asp:ListItem>
  <asp:ListItem Value="Spring"></asp:ListItem>
  <asp:ListItem Value="Summer"></asp:ListItem>
  <asp:ListItem Value="Autumn"></asp:ListItem>
  <asp:ListItem Value="Winter"></asp:ListItem>
</asp:DropDownList>
<br />
<asp:Label ID="SelectedSport" runat="server" ClientIDMode="Static">
</asp:Label>

Nell'esempio seguente viene illustrata la pagina di contenuto che contiene il controllo utente.

<%@ Page Title="" MasterPageFile="~/Seasons.master" AutoEventWireup="true" %>

<%@ Register Src="Seasons.ascx" TagName="Seasons" TagPrefix="uc1" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
  <uc1:Seasons ID="Seasons1" runat="server" />
</asp:Content>

Nell'esempio seguente viene illustrata la pagina master che contiene la pagina di contenuto.

<%@ Master AutoEventWireup="true" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <asp:ContentPlaceHolder id="head" runat="server">
    </asp:ContentPlaceHolder>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
        
        </asp:ContentPlaceHolder>
    </div>
    </form>
</body>
</html>

Commenti

Quando viene eseguito il rendering di un controllo server Web come elemento HTML, l'attributo dell'elemento HTML viene impostato id sul valore della proprietà ClientID . Il ClientID valore viene spesso usato per accedere all'elemento HTML nello script client usando il metodo document.getElementById . L'ID viene spesso usato anche nelle regole CSS per specificare gli elementi di cui definire lo stile. Ad esempio, la regola di stile CSS seguente seleziona tutti gli elementi il cui valore di attributo span è e imposta il relativo attributo su id ProductIDLabel background-color white :

span#ProductIDLabel { background-color: white; }

ASP.NET fornisce più algoritmi per la generazione del valore ClientID della proprietà. È possibile selezionare l'algoritmo da usare per un controllo impostandone la ClientIDMode proprietà . Gli algoritmi sono identificati dai valori ClientIDMode di enumerazione elencati nella tabella seguente.

valore Descrizione
AutoID 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 è stato usato nelle versioni di ASP.NET precedenti a ASP.NET 4.
Static 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.
Predictable 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à è vuota, alla fine viene aggiunto un numero sequenziale ClientIDRowSuffix anziché un valore di campo dati. Ogni segmento è separato da un carattere di sottolineatura (_).
Inherit Il controllo eredita l'impostazione ClientIDMode del relativo controllo NamingContainer.

Il valore predefinito di ClientIDMode per una pagina è Predictable . Il valore predefinito di ClientIDMode per un controllo è Inherit . Poiché il valore predefinito per i controlli Inherit è , la modalità di generazione predefinita è Predictable . Se tuttavia si usa Visual Studio per convertire un progetto Web in ASP.NET 4 da una versione precedente, Visual Studio imposta automaticamente il sito predefinito su nel AutoID file Web.config.

Per altre informazioni, vedere ASP.NET Web Server Control Identification (Identificazione del controllo server Web ASP.NET).

Si applica a

Vedi anche