Sdílet prostřednictvím


Control.ClientID Vlastnost

Definice

Získá ID ovládacího prvku pro kód HTML, který je generován 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

Hodnota vlastnosti

ID ovládacího prvku pro kód HTML vygenerovaný ASP.NET.

Atributy

Příklady

Následující příklady ukazují webový uživatelský ovládací prvek, který je uvnitř stránky obsahu pro stránku předlohy. Uživatelský ovládací prvek obsahuje DropDownList ovládací prvek a Label ovládací prvek. Text zobrazený v ovládacím Label prvku je určen hodnotou, kterou uživatel vybere z DropDownList ovládacího prvku. Textová hodnota je nastavena prostřednictvím klientského skriptu tak, aby webová stránka nemusela publikovat zpět na server, aby bylo možné tuto hodnotu nastavit. Chcete-li získat odkaz na element HTML vykreslený pro Label ovládací prvek v klientském skriptu, musíte znát hodnotu vlastnosti ovládacího prvku ClientID . Vzhledem k tomu, že uživatelský ovládací prvek lze umístit kamkoli na webovou stránku, není možné předem zjistit, které kontejnery pojmenování budou ovládací prvky obsahovat. Aby se zajistilo, že ClientID hodnota bude stejná jako ID hodnota, nastaví ClientIDMode kód hodnotu na Static.

Následující příklad ukazuje uživatelský ovládací prvek.

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

Následující příklad ukazuje stránku obsahu, která obsahuje uživatelský ovládací prvek.

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

Následující příklad ukazuje stránku předlohy, která obsahuje stránku obsahu.

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

Poznámky

Když je ovládací prvek webového serveru vykreslen jako element HTML, id atribut elementu HTML je nastaven na hodnotu ClientID vlastnosti . Hodnota se ClientID často používá pro přístup k elementu HTML v klientském skriptu pomocí metody .document.getElementById ID se také často používá v pravidlech CSS k určení prvků pro styl. Například následující pravidlo stylu CSS vybere všechny span prvky, které mají id hodnotu atributu , ProductIDLabel a nastaví jejich background-color atribut na white:

span#ProductIDLabel { background-color: white; }

ASP.NET poskytuje několik algoritmů pro vygenerování ClientID hodnoty vlastnosti. Algoritmus, který se má pro ovládací prvek použít, vyberete nastavením jeho ClientIDMode vlastnosti. Algoritmy jsou identifikovány hodnotami výčtu ClientIDMode , které jsou uvedeny v následující tabulce.

Hodnota Popis
AutoID Hodnota se ClientID generuje zřetězením ID hodnot každého nadřazeného názvového kontejneru s ID hodnotou ovládacího prvku. Ve scénářích datových vazeb, kde je vykresleno více instancí ovládacího prvku, se před hodnotu ovládacího prvku vloží přírůstková ID hodnota. Každý segment je oddělený podtržítkem (_). Tento algoritmus byl použit ve verzích ASP.NET starších než ASP.NET 4.
Static Hodnota ClientID je nastavena na hodnotu ID vlastnosti . Pokud je ovládací prvek názvový kontejner, použije se ovládací prvek jako horní část hierarchie pojmenování kontejnerů pro všechny ovládací prvky, které obsahuje.
Predictable Tento algoritmus se používá pro ovládací prvky, které jsou v ovládacích prvcích vázaných na data. Hodnota se ClientID generuje zřetězením ClientID hodnoty nadřazeného názvového kontejneru s ID hodnotou ovládacího prvku. Pokud je ovládací prvek ovládací prvek vázaný na data, který generuje více řádků, je hodnota datového pole zadaná ve ClientIDRowSuffix vlastnosti přidána na konec. GridView Pro ovládací prvek lze zadat více datových polí. ClientIDRowSuffix Pokud je vlastnost prázdná, přidá se na konec pořadové číslo místo hodnoty datového pole. Každý segment je oddělený podtržítkem (_).
Inherit Ovládací prvek dědí ClientIDMode nastavení svého NamingContainer ovládacího prvku.

Výchozí hodnota ClientIDMode pro stránku je Predictable. Výchozí hodnota ClientIDMode pro ovládací prvek je Inherit. Vzhledem k tomu, že výchozí nastavení ovládacích prvků je Inherit, výchozí režim generování je Predictable. (Pokud ale použijete Visual Studio k převodu webového projektu na ASP.NET 4 ze starší verze, Sada Visual Studio automaticky nastaví web ve Web.config souboru na AutoID výchozí hodnotu.)

Další informace najdete v tématu identifikace ovládacího prvku webového serveru ASP.NET.

Platí pro

Viz také