Control.ClientID Свойство

Определение

Получает идентификатор элемента управления для HTML-разметки, созданной 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

Значение свойства

String

Идентификатор элемента управления для HTML-разметки, созданной ASP.NET.

Атрибуты

Примеры

В следующих примерах показан пользовательский веб-элемент управления, который находится на странице содержимого главной страницы. Пользовательский элемент управления содержит DropDownList элемент управления и Label элемент управления. Текст, отображаемый в элементе Label управления, определяется значением, которое пользователь выбирает из DropDownList элемента управления. Текстовое значение задается с помощью клиентского скрипта, чтобы веб-страница не выполнялась обратно на сервер, чтобы задать это значение. Чтобы получить ссылку на HTML-элемент, отображаемый для Label элемента управления в клиентском скрипте, необходимо знать значение свойства элемента управления ClientID . Тем не менее, поскольку пользовательский элемент управления можно поместить в любое место на веб-странице, невозможно заранее узнать, какие контейнеры именования будут содержать элементы управления. Чтобы убедиться, что ClientID значение будет совпадать со ID значением, код задает ClientIDMode значение Static.

В следующем примере показан пользовательский элемент управления.

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

В следующем примере показана страница содержимого, содержащая пользовательский элемент управления.

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

В следующем примере показана эталонная страница, содержащая страницу содержимого.

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

Комментарии

Когда веб-серверный элемент управления отображается как HTML-элемент, id атрибут HTML-элемента задается значением ClientID свойства. Значение ClientID часто используется для доступа к ЭЛЕМЕНТу HTML в клиентском скрипте document.getElementById с помощью метода. Идентификатор также часто используется в правилах CSS для указания элементов стиля. Например, следующее правило стиля CSS выбирает все span элементы со id значением атрибута ProductIDLabel и задает их background-color атрибут следующим whiteобразом:

span#ProductIDLabel { background-color: white; }

ASP.NET предоставляет несколько алгоритмов для создания ClientID значения свойства. Вы выбираете алгоритм, используемый для элемента управления, задав его ClientIDMode свойство. Алгоритмы определяются значениями ClientIDMode перечисления, перечисленными в следующей таблице.

Значение Описание
AutoID Значение свойства ClientID формируется путем сцепления значений свойства ID каждого из родительских контейнеров именования со значением свойства ID элемента управления. В сценариях с привязкой данных, где отрисовывается несколько экземпляров элемента управления, перед значением свойства ID элемента управления вставляется значение счетчика. Все сегменты разделяются символом подчеркивания (_). Этот алгоритм использовался в версиях ASP.NET раньше ASP.NET 4.
Static Значение свойства ClientID задается равным значению свойства ID. Если элемент управления представляет собой контейнер именования, он выступает в качестве верхнего уровня иерархии контейнеров именования для всех элементов управления, которые он содержит.
Predictable Этот алгоритм используется для элементов управления, содержащихся в элементах управления с привязкой к данным. Значение свойства ClientID формируется путем сцепления значения свойства ClientID родительского контейнера именования со значением свойства ID элемента управления. Если элемент управления представляет собой элемент управления с привязкой к данным, формирующий несколько строк, в конец идентификатора добавляется значение поля данных, указанного в свойстве ClientIDRowSuffix. Для элемента управления GridView может быть указано несколько полей данных. ClientIDRowSuffix Если свойство пусто, в конце добавляется последовательный номер вместо значения поля данных. Все сегменты разделяются символом подчеркивания (_).
Inherit Элемент управления наследует значение ClientIDMode от элемента управления NamingContainer.

Значение ClientIDMode по умолчанию для страницы Predictable. Значение ClientIDMode по умолчанию для элемента управления .Inherit Так как по умолчанию для элементов управления используется InheritPredictableрежим создания по умолчанию. (Однако если вы используете Visual Studio для преобразования веб-проекта в ASP.NET 4 из более ранней версии, Visual Studio автоматически устанавливает сайт по умолчанию AutoID в файле Web.config.)

Дополнительные сведения см. в разделе Идентификация элементов управления Web Forms.

Применяется к

См. также раздел