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 控件。 在 控件上ListViewClientIDMode, 属性设置为 Predictable, 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 默认值为 Inherit。

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

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

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

适用于

另请参阅