Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. |
Traduction
Source
|
ClientIDMode, énumération
Spécifie la façon dont ASP.NET génère ClientID pour un contrôle accessible dans un script client.
Assembly : System.Web (dans System.Web.dll)
| Nom de membre | Description | |
|---|---|---|
| Inherit | Le contrôle hérite du paramètre de ClientIDMode de son contrôle parent. | |
| AutoID | La valeur de la propriété ClientID est générée par concaténation des valeurs de la propriété ID de chaque conteneur d'attribution de noms parent à la valeur de la propriété ID du contrôle. Dans les scénarios de liaison de données où plusieurs instances d'un contrôle sont restituées, une valeur d'incrémentation est insérée devant la valeur de la propriété ID du contrôle. Chaque segment est séparé par un trait de soulignement (_). Cet algorithme est le seul qui était disponible dans les versions d'ASP.NET antérieures à ASP.NET 4. | |
| Predictable | Cet algorithme est utilisé pour les contrôles contenus dans des contrôles liés aux données. La valeur de la propriété ClientID est générée par concaténation de la valeur de la propriété ClientID du conteneur d'attribution de noms parent à la valeur de la propriété ID du contrôle. Si le contrôle est un contrôle lié aux données qui génère plusieurs lignes, la valeur du champ de données spécifiée dans la propriété ClientIDRowSuffix est ajoutée à la fin. Pour le contrôle GridView, plusieurs champs de données peuvent être spécifiés. Si la propriété ClientIDRowSuffix est vide, un numéro séquentiel est ajouté à la fin au lieu d'une valeur de champ de données. Chaque segment est séparé par un trait de soulignement (_). | |
| Static | La propriété ID a la valeur de la propriété ClientID. Si le contrôle est un conteneur d'attribution de noms, il est utilisé comme élément le plus élevé de la hiérarchie des conteneurs d'attribution de noms pour tous les contrôles qu'il contient. |
Vous utilisez l'énumération ClientIDMode lorsque vous définissez la propriété ClientIDMode pour un contrôle. La valeur que vous assignez à la propriété ClientIDMode détermine comment la propriété ClientID est générée. La valeur de la propriété ClientID est restituée comme attribut id dans la balise, et c'est la valeur que vous utilisez pour accéder au contrôle de script client. La valeur que vous assignez à la propriété ClientIDMode n'affecte pas la propriété ID du contrôle serveur, mais uniquement l'attribut id de l'élément HTML correspondant.
La valeur par défaut de ClientIDMode pour une page est Predictable. La valeur par défaut de ClientIDMode pour un contrôle est Inherit.
Comme la valeur par défaut du contrôle est Inherit, le mode de génération par défaut est Predictable. (Toutefois, si vous utilisez Visual Studio pour convertir un projet Web en ASP.NET 4 d'une version antérieure, Visual Studio définit automatiquement la valeur par défaut du site sur AutoID dans le fichier Web.config.)
Vous pouvez définir la valeur ClientIDMode pour toutes les pages d'un site Web en définissant l'élément de pages dans le fichier Web.config du site. Vous pouvez définir la valeur ClientIDMode pour une page dans la directive @ Page.
Pour plus d'informations, consultez Identification du contrôle serveur Web ASP.NET.
L'exemple suivant affiche les contrôles Label contenus dans un contrôle ListView. Sur le contrôle ListView, la propriété ClientIDMode a la valeur Predictable et la propriété ClientIDRowSuffix a la valeur ProductID. Du script client, vous pouvez accéder à une instance particulière d'un Label selon la valeur ProductID de l'instance que vous essayez d'accéder.
Cet exemple crée le HTML avec trois contrôles ProductIDLabel. Lorsque la page s'exécute, les ID pour les contrôles seront les suivantes :
-
ListView1_ProductIDLabel_1
-
ListView1_ProductIDLabel_34
-
ListView1_ProductIDLabel_43
Pour plus d'informations, consultez Identification du contrôle serveur Web ASP.NET.
<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>
Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2
Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.