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


ClientIDMode Перечисление

Определение

Указывает способ формирования платформой ASP.NET свойства ClientID для элемента управления, к которому возможен доступ из клиентского скрипта.

public enum class ClientIDMode
public enum ClientIDMode
type ClientIDMode = 
Public Enum ClientIDMode
Наследование
ClientIDMode

Поля

AutoID 1

Значение свойства ClientID формируется путем сцепления значений свойства ID каждого из родительских контейнеров именования со значением свойства ID элемента управления. В сценариях с привязкой данных, где отрисовывается несколько экземпляров элемента управления, перед значением свойства ID элемента управления вставляется значение счетчика. Все сегменты разделяются символом подчеркивания (_). Это был единственный алгоритм, доступный в версиях ASP.NET ранее ASP.NET 4.

Inherit 0

Элемент управления наследует значение ClientIDMode от элемента управления NamingContainer.

Predictable 2

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

Static 3

Значение свойства ClientID задается равным значению свойства ID. Если элемент управления представляет собой контейнер именования, он выступает в качестве верхнего уровня иерархии контейнеров именования для всех элементов управления, которые он содержит.

Примеры

В следующем примере показаны Label элементы управления, содержащиеся в элементе ListView управления . В элементе ListView управления свойству ClientIDMode присваивается значение Predictable, а свойству ClientIDRowSuffix — значение ProductID. Из клиентского скрипта можно получить доступ к конкретному экземпляру на Label основе ProductID значения экземпляра, к которому вы пытаетесь получить доступ.

В этом примере создается HTML с тремя ProductIDLabel элементами управления. При запуске страницы идентификаторы элементов управления будут следующими:

  • ListView1_ProductIDLabel_1
  • ListView1_ProductIDLabel_34
  • ListView1_ProductIDLabel_43
<asp:XmlDataSource ID="XmlDataSource1" runat="server" 
                   XPath="Products/Product">
  <Data>
    <Products>
      <Product ProductID="1"  ProductName="Chai" />
      <Product ProductID="34" ProductName="Ale" />
      <Product ProductID="43" ProductName="Coffee" />
    </Products>
  </Data>
</asp:XmlDataSource>

<asp:ListView ID="ListView1" 
              ClientIDMode="Predictable" 
              ClientIDRowSuffix="ProductID"  
              DataSourceID="XmlDataSource1" runat="server" >
  <ItemTemplate>
    ProductID: 
    <asp:Label ID="ProductIDLabel" runat="server" 
               Text='<%# Eval("ProductID") %>' />
    <br />
    ProductName:
    <asp:Label ID="ProductNameLabel" runat="server" 
               Text='<%# Eval("ProductName") %>' />
    <br />
    <br />
  </ItemTemplate>

  <LayoutTemplate>
    <div ID="itemPlaceholderContainer" runat="server">
      <span ID="itemPlaceholder" runat="server" />
    </div>
    <div>
    </div>
  </LayoutTemplate>
  
</asp:ListView>

Комментарии

Перечисление используется ClientIDMode при установке ClientIDMode свойства для элемента управления . Значение, присваиваемое свойству ClientIDMode , определяет способ ClientID создания свойства. Значение ClientID свойства отображается как id атрибут в разметке, и это значение, которое используется для доступа к элементу управления из клиентского скрипта. Значение, присваиваемое свойству ClientIDMode , не влияет на ID свойство серверного элемента управления, а только id на атрибут соответствующего элемента HTML.

Значение по умолчанию ClientIDMode для страницы — Predictable. Значение по умолчанию ClientIDMode для элемента управления — Inherit.

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

Вы можете задать ClientIDMode значение для всех страниц на веб-сайте, задав элемент pages в файле Web.config сайта. Значение для страницы можно задать ClientIDMode в директиве @ Page .

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

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

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