Control.ClientID Vlastnost

Definice

Získá ID ovládacího prvku pro kód HTML, který je generován pomocí ASP.NET.Gets the control ID for HTML markup that is generated by 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

String

ID ovládacího prvku pro kód HTML, který je generován pomocí ASP.NET.The control ID for HTML markup that is generated by ASP.NET.

Atributy

Příklady

Následující příklady ukazují webový uživatelský ovládací prvek, který je na stránce obsahu stránky předlohy.The following examples show a Web user control that is inside a content page for a master page. Uživatelský ovládací prvek obsahuje DropDownList ovládací prvek a Label ovládací prvek.The user control contains a DropDownList control and a Label control. Text zobrazený v Label ovládacím prvku je určen hodnotou, kterou uživatel vybere z DropDownList ovládacího prvku.The text that is displayed in the Label control is determined by the value that the user selects from the DropDownList control. Textová hodnota se nastavuje prostřednictvím klientského skriptu, aby se webová stránka nemusela odeslat zpět na server, aby bylo možné tuto hodnotu nastavit.The text value is set through client script so that the Web page does not have to post back to the server in order to set this value. Chcete-li získat odkaz na prvek jazyka HTML, který je vykreslen pro Label ovládací prvek v klientském skriptu, je nutné znát hodnotu vlastnosti ovládacího prvku ClientID .To get a reference to the HTML element that is rendered for the Label control in client script, you must know the value of the control's ClientID property. Vzhledem k tomu, že uživatelský ovládací prvek lze umístit kamkoli na webovou stránku, není nemožné znát předem, které názvové kontejnery budou obsahovat ovládací prvky.However, because the user control can be put anywhere in a Web page, it is impossible to know in advance which naming containers will contain the controls. Chcete-li se ujistit, že ClientID hodnota bude stejná jako ID hodnota, kód nastaví ClientIDMode hodnotu na Static .To make sure that the ClientID value will be the same as the ID value, the code sets the ClientIDMode value to Static.

Následující příklad ukazuje uživatelský ovládací prvek.The following example shows the user control.

<%@ 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.The following example shows the content page that contains the user control.

<%@ 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.The following example shows the master page that contains the content page.

<%@ 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 prvek jazyka HTML, id atribut elementu HTML je nastaven na hodnotu ClientID Vlastnosti.When a Web server control is rendered as an HTML element, the id attribute of the HTML element is set to the value of the ClientID property. ClientIDHodnota se často používá pro přístup k elementu HTML v klientském skriptu pomocí document.getElementById metody.The ClientID value is often used to access the HTML element in client script by using the document.getElementById method. ID se také často používá v pravidlech CSS k určení prvků stylu.The ID is also often used in CSS rules to specify elements to style. 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 :For example, the following CSS style rule selects all span elements that have the id attribute value of ProductIDLabel and sets their background-color attribute to white:

span#ProductIDLabel { background-color: white; }

ASP.NET poskytuje několik algoritmů pro generování ClientID hodnoty vlastnosti.ASP.NET provides multiple algorithms for how to generate the ClientID property value. Můžete vybrat, který algoritmus se má použít pro ovládací prvek nastavením jeho ClientIDMode Vlastnosti.You select which algorithm to use for a control by setting its ClientIDMode property. Algoritmy jsou identifikovány ClientIDMode hodnotami výčtu, které jsou uvedeny v následující tabulce.The algorithms are identified by the ClientIDMode enumeration values that are listed in the following table.

HodnotaValue PopisDescription
AutoID ClientIDHodnota je generována zřetězením ID hodnot jednotlivých nadřazených názvových kontejnerů s ID hodnotou ovládacího prvku.The ClientID value is generated by concatenating the ID values of each parent naming container with the ID value of the control. V případech vázání dat, při kterých je vykresleno více instancí ovládacího prvku, je hodnota zvýšení hodnoty vložena před hodnoty ovládacího prvku ID .In data-binding scenarios where multiple instances of a control are rendered, an incrementing value is inserted in front of the control's ID value. Každý segment je oddělen znakem podtržítka ().Each segment is separated by an underscore character (). Tento algoritmus se použil ve verzích ASP.NET starších než ASP.NET 4.This algorithm was used in versions of ASP.NET earlier than ASP.NET 4.
Static ClientIDHodnota je nastavena na hodnotu ID Vlastnosti.The ClientID value is set to the value of the ID property. Pokud je ovládací prvek názvový kontejner, ovládací prvek je použit jako začátek hierarchie názvových kontejnerů pro všechny ovládací prvky, které obsahuje.If the control is a naming container, the control is used as the top of the hierarchy of naming containers for any controls that it contains.
Predictable Tento algoritmus se používá pro ovládací prvky, které jsou v ovládacích prvcích vázaných na data.This algorithm is used for controls that are in data-bound controls. ClientIDHodnota je generována zřetězením ClientID hodnoty nadřazeného názvového kontejneru s ID hodnotou ovládacího prvku.The ClientID value is generated by concatenating the ClientID value of the parent naming container with the ID value of the control. Pokud je 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.If the control is a data-bound control that generates multiple rows, the value of the data field specified in the ClientIDRowSuffix property is added at the end. Pro GridView ovládací prvek lze zadat více datových polí.For the GridView control, multiple data fields can be specified. Pokud ClientIDRowSuffix je vlastnost prázdná, místo hodnoty datového pole se přidá pořadové číslo na konci.If the ClientIDRowSuffix property is blank, a sequential number is added at the end instead of a data-field value. Každý segment je oddělen znakem podtržítka ().Each segment is separated by an underscore character ().
Inherit Ovládací prvek dědí ClientIDMode nastavení jeho NamingContainer ovládacího prvku.The control inherits the ClientIDMode setting of its NamingContainer control.

Výchozí hodnota ClientIDMode pro stránku je Predictable .The default value of ClientIDMode for a page is Predictable. Výchozí hodnota ClientIDMode pro ovládací prvek je Inherit .The default value of ClientIDMode for a control is Inherit. Vzhledem k tomu, že výchozí nastavení pro ovládací prvky je Inherit , je výchozí režim generování Predictable .Because the default for controls is Inherit, the default generation mode is Predictable. (Pokud však použijete sadu Visual Studio k převedení webového projektu na ASP.NET 4 ze starší verze, sada Visual Studio automaticky nastaví výchozí nastavení lokality na AutoID soubor Web.config.)(However, if you use Visual Studio to convert a Web project to ASP.NET 4 from an earlier version, Visual Studio automatically sets the site default to AutoID in the Web.config file.)

Další informace naleznete v tématu Identifikace ovládacího prvku webového serveru ASP.NET.For more information, see ASP.NET Web Server Control Identification.

Platí pro

Viz také