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

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

Идентификатор элемента управления для 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>

Комментарии

При отображении серверного веб-элемента id управления в виде ЭЛЕМЕНТА HTML атрибуту ЭЛЕМЕНТА HTML присваивается значение ClientID свойства . Значение ClientID часто используется для доступа к элементу HTML в клиентском скрипте document.getElementById с помощью метода . Идентификатор также часто используется в правилах CSS для указания элементов для стиля. Например, следующее правило стиля CSS выбирает все span элементы со значением id атрибута и задает для их background-color атрибута ProductIDLabel значение 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. Так как по умолчанию для элементов управления используется Inheritрежим создания по умолчанию .Predictable (Однако если вы используете Visual Studio для преобразования веб-проекта в ASP.NET 4 из более ранней версии, Visual Studio автоматически устанавливает для сайта значение по умолчанию AutoID в файле Web.config.)

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

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

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