Control.ClientIDMode Property

Definition

Возвращает или задает алгоритм, используемый для создания значения свойства ClientID.Gets or sets the algorithm that is used to generate the value of the ClientID property.

public:
 virtual property System::Web::UI::ClientIDMode ClientIDMode { System::Web::UI::ClientIDMode get(); void set(System::Web::UI::ClientIDMode value); };
[System.Web.UI.Themeable(false)]
public virtual System.Web.UI.ClientIDMode ClientIDMode { get; set; }
member this.ClientIDMode : System.Web.UI.ClientIDMode with get, set
Public Overridable Property ClientIDMode As ClientIDMode

Property Value

ClientIDMode

Значение, указывающее, как создается свойство ClientID.A value that indicates how the ClientID property is generated. Значение по умолчанию — Inherit.The default is Inherit.

Attributes

Examples

В следующем примере показаны Label элементы управления, содержащиеся в элементе управления ListView.The following example shows Label controls that are contained in a ListView control. В элементе управления ListView свойству ClientIDMode присваивается значение Predictable, а свойству ClientIDRowSuffix — значение ProductID.On the ListView control, the ClientIDMode property is set to Predictable and the ClientIDRowSuffix property is set to ProductID. В отображаемом HTML-коде создается три span элементов, соответствующих трем элементам управления ProductIDLabel.In the rendered HTML, this creates three span elements that correspond to three ProductIDLabel controls. При запуске страницы атрибуты id для span элементов устанавливаются в следующие значения:When the page runs, the id attributes for the span elements are set to the following values:

  • 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>

Remarks

ASP.NET предоставляет несколько алгоритмов для создания значения свойства ClientID.ASP.NET provides multiple algorithms for how to generate the ClientID property value. Выберите алгоритм, который будет использоваться для элемента управления, задав его свойство ClientIDMode.You select which algorithm to use for a control by setting its ClientIDMode property. Алгоритмы идентифицируются по значениям перечисления ClientIDMode, которые перечислены в следующей таблице.The algorithms are identified by the ClientIDMode enumeration values that are listed in the following table.

ЗначениеValue DescriptionDescription
AutoID Значение свойства ClientID формируется путем сцепления значений свойства ID каждого из родительских контейнеров именования со значением свойства ID элемента управления.The ClientID value is generated by concatenating the ID values of each parent naming container with the ID value of the control. В сценариях с привязкой данных, где отрисовывается несколько экземпляров элемента управления, перед значением свойства ID элемента управления вставляется значение счетчика.In data-binding scenarios where multiple instances of a control are rendered, an incrementing value is inserted in front of the control's ID value. Все сегменты разделяются символом подчеркивания ().Each segment is separated by an underscore character (). Этот алгоритм использовался в версиях ASP.NET, предшествующих ASP.NET 4.This algorithm was used in versions of ASP.NET earlier than ASP.NET 4.
Static Значение свойства ClientID задается равным значению свойства ID.The ClientID value is set to the value of the ID property. Если элемент управления представляет собой контейнер именования, он выступает в качестве верхнего уровня иерархии контейнеров именования для всех элементов управления, которые он содержит.If the control is a naming container, the control is used as the top of the hierarchy of naming containers for any controls that it contains.
Predictable Этот алгоритм используется для элементов управления, содержащихся в элементах управления с привязкой к данным.This algorithm is used for controls that are in data-bound controls. Значение свойства ClientID формируется путем сцепления значения свойства ClientID родительского контейнера именования со значением свойства ID элемента управления.The ClientID value is generated by concatenating the ClientID value of the parent naming container with the ID value of the control. Если элемент управления представляет собой элемент управления с привязкой к данным, формирующий несколько строк, в конец идентификатора добавляется значение поля данных, указанного в свойстве ClientIDRowSuffix.If the control is a data-bound control that generates multiple rows, the value of the data field specified in the ClientIDRowSuffix property is added at the end. Для элемента управления GridView может быть указано несколько полей данных.For the GridView control, multiple data fields can be specified. Если свойство ClientIDRowSuffix пусто, в конец добавляется порядковый номер, а не значение поля данных.If the ClientIDRowSuffix property is blank, a sequential number is added at the end instead of a data-field value. Этот номер начинается с нуля и увеличивается на 1 для каждой строки.This number begins at zero and is incremented by 1 for each row. Все сегменты разделяются символом подчеркивания ().Each segment is separated by an underscore character ().
Inherit Элемент управления наследует значение ClientIDMode от элемента управления NamingContainer.The control inherits the ClientIDMode setting of its NamingContainer control.

Значение по умолчанию ClientIDMode для страницы — Predictable.The default value of ClientIDMode for a page is Predictable. Значение по умолчанию ClientIDMode для элемента управления — Inherit.The default value of ClientIDMode for a control is Inherit. Так как по умолчанию для элементов управления используется Inherit, режим создания по умолчанию — Predictable.Because the default for controls is Inherit, the default generation mode is Predictable. (Однако, если вы используете Visual Studio для преобразования веб-проекта в ASP.NET 4 из более ранней версии, Visual Studio автоматически устанавливает для сайта по умолчанию значение AutoID в файле Web. config.)(However, if you use Visual Studio to convert a Web project to ASP.NET 4 from an earlier version, Visual Studio automatically sets the site default to AutoID in the Web.config file.)

Дополнительные сведения см. в разделе Идентификация элементов управления Web Forms.For more information, see ASP.NET Web Server Control Identification.

Applies to

See also