Поделиться через


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>

Комментарии

Когда элемент управления веб-сервера отображается как 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.)

Дополнительные сведения см. в разделе Идентификация веб-серверных элементов управления ASP.NET.

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

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