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.
Применяется к
См. также раздел
- NamingContainer
- ID
- INamingContainer
- Идентификация элемента управления ASP.NET
- Практическое руководство. Управление доступом из JavaScript по идентификатору
- Пошаговое руководство. Упрощение доступа к элементам управления Data-Bound из JavaScript
- Пошаговое руководство. Упрощение доступа к элементам управления из JavaScript, расположенных в пользовательских веб-элементах управления
- Клиентский скрипт на веб-страницах ASP.NET