ClientIDMode 枚举
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
指定 ASP.NET 如何为客户端脚本中可以访问的控件生成 ClientID。
public enum class ClientIDMode
public enum ClientIDMode
type ClientIDMode =
Public Enum 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 |
示例
以下示例演示 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 服务器控件标识。