Partager via


@ Control

Mise à jour : novembre 2007

Définit les attributs spécifiques aux contrôles utilisateur (fichier .ascx) utilisés par le compilateur et l'analyseur de pages ASP.NET. Cette directive ne peut être utilisée qu'avec des Contrôles utilisateur ASP.NET (dont le code source est contenu dans les fichiers .ascx).

<%@ Control attribute="value" [attribute="value" ... ] %>

Attributs

  • AutoEventWireup
    Indique si les événements du contrôle sont autoconnectés. true si l'autoconnexion des événements est activée ; sinon, false. La valeur par défaut est true. Pour plus d'informations, consultez Modèle d'événements du contrôle serveur Web ASP.NET.

  • ClassName
    Chaîne qui spécifie le nom de classe du contrôle qui sera compilé dynamiquement lorsqu'il est demandé. Il peut s'agir de n'importe quel nom de classe valide et peut inclure l'espace de noms complet d'une classe (nom de classe qualifié complet). Si aucune valeur n'est spécifiée pour cet attribut, le nom de classe du contrôle compilé est basé sur le nom de fichier du contrôle.

    Une autre page ou contrôle peut référencer le nom de classe assigné au contrôle en utilisant la directive @ Reference.

  • CodeBehind
    Spécifie le nom du fichier compilé qui contient la classe associée au contrôle. Cet attribut n'est pas utilisé au moment de l'exécution.

    Remarque :

    Cet attribut est inclus pour des raisons de compatibilité avec les versions antérieures d'ASP.NET, afin d'implémenter la fonctionnalité code-behind. Dans la version 2.0 d'ASP.NET, vous devez utiliser à la place l'attribut CodeFile pour spécifier le nom du fichier source, ainsi que l'attribut Inherits pour spécifier le nom qualifié complet de la classe.

  • CodeFile
    Spécifie un chemin d'accès au fichier code-behind référencé pour le contrôle. Cet attribut est utilisé avec l'attribut Inherits pour associer un fichier source code-behind à un contrôle utilisateur. Il est valide uniquement pour les contrôles compilés.

  • CodeFileBaseClass
    Spécifie un chemin d'accès à une classe de base d'un contrôle et sa classe code-behind associée. Cet attribut est facultatif mais, lorsqu'il est utilisé, l'attribut CodeFile doit être également présent. Utilisez cet attribut lorsque vous souhaitez implémenter un scénario partagé, dans lequel vous définissez des champs communs (et, éventuellement, des événements associés) dans une classe de base pour référencer les contrôles déclarés dans un contrôle utilisateur. À cause du modèle de génération du code ASP.NET, si vous avez défini les champs dans une classe de base sans utiliser cet attribut, de nouvelles définitions de membre seront générées à la compilation pour les contrôles déclarés dans le contrôle utilisateur (dans un stub de classe partielle distinct) et votre scénario ne fonctionnera pas. En revanche, si vous utilisez l'attribut CodeFileBaseClass pour associer la classe de base au contrôle utilisateur et indiquez que votre classe partielle (son nom est assigné à l'attribut Inherits et son fichier source référencé par l'attribut CodeFile) hérite de la classe de base, les champs dans la classe de base seront en mesure de référencer les contrôles du contrôle utilisateur après la génération du code.

  • CompilationMode
    Définit si le contrôle doit être compilé à l'aide d'une chaîne spécifiant l'une des diverses options énumérées. Puisque la valeur par défaut est Always, les contrôles .aspx sont compilés par défaut. Pour plus d'informations, consultez CompilationMode.

  • CompilerOptions
    Chaîne qui contient les options du compilateur utilisées pour compiler le contrôle. En C# et Visual Basic, il s'agit d'une séquence de commutateurs de ligne de commande du compilateur. Pour plus d'informations sur les options du compilateur, consultez Options du compilateur C# ou Compilateur Visual Basic.

  • Debug
    Indique si le contrôle doit être compilé avec des symboles de débogage. true s'il doit l'être ; sinon, false. Dans la mesure où ce paramètre a une incidence sur les performances, affectez uniquement la valeur true à l'attribut lors du développement.

  • Description
    Fournit une description textuelle du contrôle. Cette valeur est ignorée par l'analyseur ASP.NET.

  • EnableTheming
    Indique si des thèmes sont utilisés dans le contrôle. true si des thèmes sont utilisés ; sinon, false. La valeur par défaut est true.

  • EnableViewState
    Indique si l'état d'affichage est maintenu entre les demandes du contrôle. true si l'état d'affichage est maintenu ; sinon, false. La valeur par défaut est true.

  • Explicit
    Détermine si le contrôle est compilé à l'aide du mode Option Explicit de Visual Basic. true indique que l'option de compilation explicite de Visual Basic est activée et que toutes les variables doivent être déclarées à l'aide d'une instruction Dim, Private, Public ou ReDim ; sinon, false. La valeur par défaut est false.

    Remarque :

    Cet attribut est ignoré par les langages autres que Visual Basic. Par ailleurs, cette option a la valeur true dans le fichier de configuration Machine.config. Pour plus d'informations, consultez Fichier de configuration machine.

  • Inherits
    Définit une classe code-behind dont le contrôle doit hériter. Peut correspondre à toute classe dérivée de la classe UserControl. Utilisé avec l'attribut CodeFile qui contient le chemin d'accès au fichier source de la classe code-behind. Pour plus d'informations sur les classes code-behind, consultez Modèle de code des pages Web ASP.NET.

  • Language
    Spécifie le langage utilisé lors de la compilation de tout le rendu inline (<%% > et <% =% >) et les blocs de déclaration de code dans le contrôle. Les valeurs peuvent représenter tout langage pris en charge par le .NET Framework, parmi lesquels Visual Basic, C# ou JScript. Un seul langage peut être utilisé et spécifié par contrôle.

  • LinePragmas
    Détermine si le runtime doit générer des pragmas de ligne dans le code source. Il s'agit d'options du compilateur souvent utilisées par les outils de débogage pour marquer des emplacements spécifiques dans un fichier source. true si les pragmas de ligne doivent être générés ; sinon, false.

  • Src
    Spécifie un chemin d'accès à un fichier source contenant du code lié au contrôle. Dans le fichier source lié, vous pouvez choisir d'inclure la logique de programmation de votre contrôle dans une classe ou dans des blocs de déclaration de code.

    Vous pouvez utiliser l'attribut Src pour lier des fournisseurs de générations au contrôle. Pour plus d'informations, consultez la classe BuildProvider. De plus, dans les versions d'ASP.NET antérieures à la version 2.0, l'attribut Src représentait un autre moyen de lier un fichier code-behind à un contrôle. Dans la version 2.0 d'ASP.NET, l'approche par défaut pour lier un fichier source code-behind à un contrôle consiste à utiliser l'attribut Inherits pour spécifier une classe ainsi qu'un attribut CodeFile pour indiquer le chemin d'accès au fichier source de la classe.

  • Strict
    Indique que le contrôle doit être compilé à l'aide du mode OptionStrict de Visual Basic. true si Option Strict est activé ; sinon, false. La valeur par défaut est false.

    Remarque :

    Cet attribut est ignoré par les langages autres que Visual Basic.

  • TargetSchema
    Spécifie le nom d'un schéma qui valide le contenu dans le contrôle. Cet attribut n'a qu'un but descriptif ; aucune validation réelle n'est exécutée et l'attribut est ignoré par l'analyseur.

  • WarningLevel
    Indique le niveau d'avertissement du compilateur auquel vous souhaitez que le compilateur traite des avertissements comme des erreurs, provoquant ainsi l'abandon de la compilation du contrôle. Les niveaux d'avertissement possibles vont de 0 à 4. Pour plus d'informations, consultez la propriété WarningLevel.

Notes

Cette directive ne peut être utilisée que dans des contrôles utilisateur. Les contrôles utilisateur sont définis dans des fichiers dont l'extension est .ascx. Vous ne pouvez inclure qu'une seule directive @ Control par fichier .ascx. Par ailleurs, vous ne pouvez définir qu'un seul attribut Language par directive @ Control car vous ne pouvez utiliser qu'un seul langage par contrôle.

Remarque :

La directive @ Control possède plusieurs attributs en commun avec d'autres directives qui s'appliquent à l'ensemble d'un fichier source, par exemple la directive @ Page (utilisée dans les fichiers .aspx pour les pages Web) et la directive @ Master (utilisée dans les fichiers .master pour les pages maîtres).

Pour définir plusieurs attributs de la directive @ Control, séparez chaque paire attribut/valeur par un espace. Pour un attribut spécifique, n'incluez pas d'espace de l'un et l'autre côté du signe égal (=) qui relie l'attribut à sa valeur. Pour obtenir un exemple, consultez la section Exemple de cette rubrique.

Exemple

L'exemple de code suivant indique au compilateur de pages ASP.NET d'utiliser Visual Basic comme langage du code incorporé et désactive l'enregistrement de l'état d'affichage entre des demandes HTTP à l'aide de l'attribut EnableViewState.

<%@ Control Language="VB" EnableViewState="false" %>

Voir aussi

Référence

Syntaxe de directive

@ Page

Autres ressources

Syntaxe de page ASP.NET

Contrôles utilisateur ASP.NET