Condividi tramite


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à

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

Attributi

Esempio

Negli esempi seguenti viene illustrato un controllo utente Web che si trova all'interno di una pagina di contenuto per una pagina master. Il controllo utente contiene un DropDownList controllo e un Label controllo . Il testo visualizzato nel Label controllo è determinato dal valore selezionato dall'utente dal DropDownList controllo. Il valore di testo viene impostato tramite script client in modo che la pagina Web non deve eseguire il postback al server per impostare questo valore. Per ottenere un riferimento all'elemento HTML di cui viene eseguito il rendering per il Label controllo nello script client, è necessario conoscere il valore della proprietà del ClientID controllo. Tuttavia, poiché il controllo utente può essere inserito in qualsiasi punto di una pagina Web, è impossibile sapere in anticipo quali contenitori di denominazione conterranno i controlli. Per assicurarsi che il ClientID valore sia uguale al ID valore , il codice imposta il ClientIDMode valore su 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 del 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 del 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 id dell'elemento HTML viene impostato sul valore della ClientID proprietà . Il ClientID valore viene spesso usato per accedere all'elemento HTML nello script client usando il document.getElementById metodo . L'ID viene spesso usato anche nelle regole CSS per specificare gli elementi da applicare allo stile. Ad esempio, la regola di stile CSS seguente seleziona tutti gli span elementi con il valore dell'attributo ProductIDLabel e imposta il id relativo background-color attributo su white:

span#ProductIDLabel { background-color: white; }

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

Valore Descrizione
AutoID Il ClientID valore viene generato concatenando i ID valori di ogni contenitore di denominazione padre con il ID valore del controllo. Negli scenari di data binding in cui viene eseguito il rendering di più istanze di un controllo, viene inserito un valore di incremento davanti al valore del ID 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 ClientID valore viene impostato sul valore della ID proprietà . Se il controllo è un contenitore di denominazione, il controllo viene usato come parte superiore della gerarchia dei contenitori di denominazione per tutti i controlli in esso contenuti.
Predictable Questo algoritmo viene usato per i controlli inclusi nei controlli associati a dati. Il ClientID valore viene generato concatenando il ClientID valore del contenitore di denominazione padre con il ID valore del controllo. Se il controllo è un controllo associato a dati che genera più righe, il valore del campo dati specificato nella ClientIDRowSuffix proprietà viene aggiunto alla fine. Per il GridView controllo è possibile specificare più campi dati. Se la ClientIDRowSuffix proprietà è vuota, alla fine viene aggiunto un numero sequenziale anziché un valore di campo dati. Ogni segmento è separato da un carattere di sottolineatura (_).
Inherit Il controllo eredita l'impostazione ClientIDMode del relativo NamingContainer controllo.

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 valore predefinito AutoID del sito nel file Web.config.

Per ulteriori informazioni, vedere Identificazione del controllo del server Web ASP.NET.

Si applica a

Vedi anche