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 4 以前的 ASP.NET 版本中唯一可以使用的算法。

Inherit 0

控件继承其 NamingContainer 控件的 ClientIDMode 设置。

Predictable 2

对于数据绑定控件中的控件使用此算法。 ClientID 值是通过串联每个父命名容器的 ClientID 值生成的,这些父命名容器都具有控件的ID 值。 如果控件是生成多个行的数据绑定控件,则在末尾添加 ClientIDRowSuffix 属性中指定的数据字段的值。 对于 GridView 控件,可以指定多个数据字段。 如果 ClientIDRowSuffix 属性为空白,则在末尾添加顺序号,而非数据字段值。 各部分之间用下划线字符 (_) 分隔。

Static 3

ClientID 值设置为 ID 属性的值。 如果控件是命名容器,则该控件将用作其所包含的任何控件的命名容器的顶层。

示例

以下示例演示 Label 控件中包含的 ListView 控件。 在控件上 ListView ,该 ClientIDMode 属性设置为“可预测”,并将 ClientIDRowSuffix 该属性设置为 ProductID。 从客户端脚本中,可以根据尝试访问的实例的值访问特定LabelProductID实例。

此示例使用三 ProductIDLabel 个控件创建 HTML。 当页面运行时,控件的 ID 将如下所示:

  • 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 默认值为“可预测”。 控件的 ClientIDMode 默认值为“继承”。

由于控件的默认值为“继承”,因此默认生成模式是可预测的。 但是, (,如果使用Visual Studio将 Web 项目从早期版本转换为 ASP.NET 4,Visual Studio会自动将网站默认设置为 Web.config file.)

可以通过设置网站Web.config文件中的 pages 元素来设置ClientIDMode网站中所有页面的值。 可以在 @ Page 指令中设置ClientIDMode页面的值。

有关详细信息,请参阅 ASP.NET Web 服务器控件标识

适用于

另请参阅