@ Page

[Cette documentation constitue un aperçu et pourra faire l'objet de modifications dans les versions ultérieures. Des rubriques vierges sont incluses en tant qu'espaces réservés.]

Définit des attributs spécifiques aux pages (fichier .aspx) utilisés par le compilateur et l'analyseur de pages ASP.NET.

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

Attributs

  • Async
    Fait de la page un gestionnaire asynchrone (c'est-à-dire qu'il force la page à utiliser une implémentation de IHttpAsyncHandler pour traiter des demandes).

    La valeur par défaut est false.

  • AsyncTimeOut
    Définit l'intervalle de délai (en secondes) utilisé lors du traitement de tâches asynchrones. La valeur par défaut est 45 secondes.

    Elle doit représenter un entier.

    Pour plus d'informations, consultez la propriété AsyncTimeout.

  • AspCompat
    Lorsque la valeur est true, autorise la page à être exécutée sur un thread cloisonné (STA, Single-Threaded Apartment). Cela permet à la page d'appeler des composants STA, tels qu'un composant développé avec Microsoft Visual Basic 6.0. Lorsque cet attribut a la valeur true, la page peut également appeler les composants COM+ version 1.0 qui requièrent l'accès aux objets intégrés non managés ASP (Active Server Pages). Ceux-ci sont accessibles via l'objet ObjectContext ou la méthode OnStartPage. La valeur par défaut est false.

    Notes

    Si cet attribut a la valeur true, cela peut provoquer une diminution des performances de votre page.Pour plus d'informations, consultez la section Notes.

  • AutoEventWireup
    Indique si les événements de la page sont autoconnectés. true si l'autoconnexion d'événement est activée ; sinon, false. La valeur par défaut est true. Pour plus d'informations, consultez ASP.NET Web Server Control Event Model.

  • Buffer
    Détermine si la mise en mémoire tampon de réponse HTTP est activée. true si la mise en mémoire tampon de page est activée ; sinon false.

    La valeur par défaut est true.

  • ClassName
    Chaîne qui spécifie le nom de classe de la page compilée dynamiquement lors de la demande de la page. Cette valeur peut être n'importe quel nom de classe valide et peut inclure un nom de classe qualifié complet. Si aucune valeur n'est spécifiée pour cet attribut, le nom de classe de la page compilée est basé sur le nom de fichier de la page et utilise l'espace de noms par défaut ASP. Si une valeur est spécifiée pour l'attribut ClassName sans un espace de noms complet, l'espace de noms ASP est utilisé, associé au nom de classe spécifié pour créer un nom de classe qualifié complet.

    Une autre page peut référencer le nom de classe assigné à la première page en utilisant la directive @ Reference.

    Notes

    Il est possible dans la classe de page code-behind de référencer des membres de la classe de page .aspx associée à l'aide du nom de classe qualifié complet pour la page .aspx.Toutefois, si vous précompilez votre site avec la protection de source activée, la classe de page code-behind n'est pas localisée dans le même assembly que la classe de page .aspx.Par conséquent, la référence de classe dans le fichier code-behind ne fonctionnera pas.Pour plus d'informations sur la précompilation, consultez ASP.NET Web Site Precompilation Overview.

  • ClientIDMode
    Spécifie l'algorithme à utiliser pour générer des valeurs ClientID pour les contrôles. La valeur par défaut est Predictable. La valeur par défaut du contrôle est Inherit. Par conséquent, l'algorithme par défaut pour les contrôles dans une page est déterminé par le paramètre ClientID de la page. Une valeur par défaut différente peut être définie dans l'élément pages du fichier Web.config. Pour plus d'informations sur les algorithmes, consultez la classe ClientIDMode.

  • ClientTarget
    Indique l'agent utilisateur cible (en général, un navigateur Web comme Microsoft Internet Explorer) pour lequel les contrôles serveur ASP.NET doivent rendre du contenu. Il peut avoir pour valeur tout alias valide, défini dans la section <clientTarget> du fichier de configuration de l'application. Pour plus d'informations, consultez la propriété ClientTarget.

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

    Cet attribut est utilisé pour les projets d'application Web. L'attribut CodeFile est utilisé pour les projets de site Web. Pour plus d'informations au sujet des types de projet Web dans Visual Studio, consultez Projets d'Application Web par rapport aux projets de Site Web de Visual Studio.

  • CodeFile
    Spécifie un chemin d'accès au fichier code-behind référencé pour la page. Cet attribut est utilisé avec l'attribut Inherits pour associer un fichier source code-behind à une page Web. Il est valide uniquement pour les pages compilées.

    Cet attribut est utilisé pour les projets de site Web. L'attribut CodeBehind est utilisé pour les projets d'application Web. Pour plus d'informations au sujet des types de projet Web dans Visual Studio, consultez Projets d'Application Web par rapport aux projets de Site Web de Visual Studio.

  • CodeFileBaseClass
    Spécifie le nom du type d'une classe de base d'une page et la classe code-behind qui lui est 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 une page Web. À 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 la page Web (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 à la page et faites en sorte que votre classe partielle (son nom est assigné à l'attribut Inherits et son fichier source référencé par l'attribut CodeFile) héritent de la classe de base, les champs dans la classe de base seront en mesure de référencer les contrôles de la page après la génération du code.

  • CodePage
    Indique la valeur de la méthode d'encodage utilisée pour la réponse. Il s'agit d'un entier utilisé comme ID de la méthode d'encodage. Pour obtenir la liste des ID CodePage possibles, consultez la classe Encoding.

  • CompilationMode
    Indique 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 pages .aspx sont compilées par défaut. Pour plus d'informations, consultez l'énumération CompilationMode.

  • CompilerOptions
    Chaîne contenant des options du compilateur utilisé pour compiler la page. 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 de ligne de commande Visual Basic.

  • ContentType
    Définit le type de contenu HTTP de la réponse en tant que type MIME standard. Prend en charge toute chaîne de type de contenu HTTP valide. Pour obtenir la liste des valeurs possibles, effectuez une recherche sur MIME dans MSDN Library

  • Culture
    Indique le paramètre de culture de la page. La valeur de cet attribut doit être un ID de culture valide. Notez que les attributs LCID et Culture s'excluent mutuellement ; si vous en utilisez un, vous ne pouvez pas utiliser l'autre dans la même page. Pour plus d'informations sur, consultez la propriété Culture et la classe CultureInfo.

  • Debug
    Indique si la page doit être compilée avec les symboles de débogage. true si la page doit être compilée avec les symboles de débogage ; sinon, false. Dans la mesure où ce paramètre affecte les performances, affectez uniquement la valeur true à l'attribut lors du développement.

  • Description
    Donne une description de la page. Cette valeur est ignorée par l'analyseur ASP.NET.

  • EnableEventValidation
    Permet la validation d'événements dans la publication (postback) et les scénarios de rappel. true si des événements sont en cours de validation ; sinon, false. La valeur par défaut est true.

    La validation des événements de la page réduit le risque de demandes de publication et de rappels non autorisés. Lorsque la propriété enableEventValidation a la valeur true, ASP.NET autorise uniquement les événements qui peuvent être déclenchés sur le contrôle pendant une demande de publication ou un rappel. Avec ce modèle, un contrôle enregistre ses événements pendant le rendu, puis valide les événements pendant la gestion des publications ou des rappels. Tous les contrôles pilotés par les événements dans ASP.NET utilisent cette fonctionnalité par défaut.

    Il est fortement recommandé de ne pas désactiver la validation des événements. Avant de désactiver la validation des événements, vous devez être sûr qu'aucune publication ne peut être générée et avoir un effet inattendu sur votre application.

  • EnableSessionState
    Définit des spécifications d'état de session pour la page. true si l'état de session est activé ; ReadOnly si l'état de session peut être lu mais non changé ; sinon, false. La valeur par défaut est true. Ces valeurs ne respectent pas la casse. Pour plus d'informations, consultez ASP.NET Session State Overview.

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

  • EnableViewState
    Spécifie si l'état d'affichage est conservé d'une demande de page à une autre. Cette valeur est true si l'état d'affichage est maintenu, ou false si l'état d'affichage n'est pas maintenu. La valeur par défaut est true.

    Même si cette propriété a la valeur true, l'état d'affichage ne sera pas maintenu pour un contrôle si l'une des conditions suivantes s'applique :

    Pour plus d'informations sur l'état d'affichage et état du contrôle, consultez la propriété Control.EnableViewState.

  • EnableViewStateMac
    Indique qu'ASP.NET doit vérifier les codes d'authentification de messages (MAC) dans l'état de la vue de la page quand la page est publiée par le client. true si l'état d'affichage doit être MAC ; sinon, false. La valeur par défaut est true.

    Une vérification MAC de l'état d'affichage correspond à une version chiffrée de la variable masquée dans laquelle l'état d'affichage d'une page est rendu persistant lors de son envoi au navigateur. Le MAC est utilisé pour vérifier que l'état d'affichage n'a pas fait l'objet d'une falsification portant sur le client.

    Note de sécuritéNote de sécurité

    Cet attribut ne doit jamais avoir la valeur false dans un site Web de production.

  • ErrorPage
    Définit une URL cible en vue d'une redirection si une exception de page non gérée se produit. Pour plus d'informations, consultez la propriété ErrorPage.

  • Explicit
    Détermine si la page est compilée à 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.

    Notes

    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 ASP.NET Configuration Files.

  • Inherits
    Définit une classe code-behind pour la page à hériter. Peut correspondre à toute classe dérivée de la classe Page. Cet attribut est utilisé avec l'attribut CodeFile, qui contient le chemin d'accès au fichier source de la classe code-behind. L'attribut Inherits respecte la casse lors de l'utilisation de C# comme langage de page et ne respecte pas la casse lors de l'utilisation de Visual Basic comme langage de page.

    Si l'attribut Inherits ne contient pas d'espace de noms, ASP.NET vérifie si l'attribut ClassName contient un espace de noms. Le cas échéant, ASP.NET essaie de charger la classe référencée dans l'attribut Inherits à l'aide de l'espace de noms de l'attribut ClassName. (Cela suppose que l'attribut Inherits et l'attribut ClassName utilisent tous deux le même espace de noms.)

    Pour plus d'informations sur les classes code-behind, consultez ASP.NET Web Page Code Model.

  • Language
    Spécifie le langage utilisé lors de la compilation de tout le rendu inline (<% %> et <%= %>) et des blocs de déclaration de code dans la page. Les valeurs peuvent représenter n'importe quel 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 page.

  • LCID
    Définit l'identificateur de paramètres régionaux de la page Web Forms.

    Notes

    L'identificateur de paramètres régionaux correspond à une valeur 32 bits qui identifie de manière unique un paramètre régional.ASP.NET utilise le paramètre régional par défaut du serveur Web, sauf si vous spécifiez un autre paramètre régional pour une page Web Forms à l'aide de cet attribut.Notez que les attributs LCID et Culture s'excluent mutuellement ; si vous en utilisez un, vous ne pouvez pas utiliser l'autre dans la même page.Pour plus d'informations sur les paramètres régionaux, consultez le site MSDN Library.

  • LinePragmas
    Détermine si le runtime doit générer des pragmas de ligne dans le code source. Ce sont des options du compilateur qui sont 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.

  • MaintainScrollPositionOnPostback
    Indique s'il faut renvoyer l'utilisateur à la même position dans le navigateur client après la publication. true si les utilisateurs doivent être renvoyés à la même position ; sinon, false. La valeur par défaut est false.

    Notes

    Les développeurs peuvent configurer cet attribut pour toutes les pages en définissant l'attribut maintainScrollPostitionOnPostback sur l'élément <pages> du fichier Web.config (l'attribut respecte la casse dans les fichiers de configuration).

  • MasterPageFile
    Définit le chemin d'accès à la page maître pour la page de contenu ou la page maître imbriquée. Prend en charge les chemins d'accès relatifs et absolus. Pour plus d'informations, consultez la propriété MasterPageFile.

  • MetaDescription
    Définit la propriété MetaDescription. Si le balisage de la page inclut également un élément meta de « description », la valeur dans la @ Page de directives substitue la valeur dans la balise.

  • MetaKeywords
    Définit la propriété MetaKeywords. Si le balisage de la page inclut également un élément meta de « mots clés », la valeur dans la @ Page de directives substitue la valeur dans la balise.

  • ResponseEncoding
    Indique le nom de la méthode d'encodage utilisée pour la réponse HTTP qui contient le contenu d'une page. La valeur assignée à cet attribut est un nom d'encodage valide. pour une liste de noms d'encodage possibles, consultez la classe Encoding. Vous pouvez également appeler la méthode GetEncodings pour obtenir une liste de noms et d'ID d'encodage possibles.

  • SmartNavigation
    Indique si la page prend en charge la fonctionnalité de navigation intelligente d'Internet Explorer 5.5 ou version ultérieure. true si la navigation intelligente est activée ; sinon, false. La valeur par défaut est false.

    Dans l'ASP.NET Version 2.0 et versions ultérieures, la propriété SmartNavigation est obsolète. Utilisez plutôt la méthode SetFocus de la classe MaintainScrollPositionOnPostback().

  • Src
    Spécifie un chemin d'accès à un fichier source contenant du code lié à la page. Dans le fichier source lié, vous pouvez choisir d'inclure la logique de programmation de votre page 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 à la page. Pour plus d'informations, consultez la classe BuildProvider. 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 à une page. Dans ASP.NET 2.0, pour lier un fichier source code-behind à une page, l'approche par défaut consiste à utiliser l'attribut Inherits pour spécifier une classe ainsi qu'un attribut CodeFile pour spécifier le chemin d'accès au fichier source de la classe.

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

    Notes

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

  • StyleSheetTheme
    Spécifie un identificateur de thème valide à utiliser dans la page. Lorsque l'attribut StyleSheetTheme est défini, les contrôles individuels peuvent se substituer aux paramètres de style contenus dans un thème. Par conséquent, un thème peut fournir l'apparence globale d'un site tandis que les paramètres contenus dans l'attribut StyleSheetTheme permettent de personnaliser des paramètres spécifiques d'une page et de ses contrôles individuels.

  • TargetSchema
    Spécifie le nom d'un schéma qui valide le contenu de la page. 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.

  • Theme
    Spécifie un identificateur de thème valide à utiliser dans la page. Lorsque l'attribut Theme est défini sans utiliser l'attribut StyleSheetTheme, il se substitue aux paramètres de style individuel définis sur les contrôles, ce qui vous permet de créer une apparence uniforme et cohérente pour une page. Pour plus d'informations, consultez la propriété Theme.

  • Title
    Spécifie un titre pour la page rendue dans les balises <title> HTML de la réponse. Il est également possible d'accéder au titre par programme comme une propriété de la page. Pour plus d'informations, consultez la propriété Title.

  • Trace
    Indique si le suivi est activé. true si le traçage est activé, sinon false. La valeur par défaut est false. Pour plus d'informations, consultez ASP.NET Tracing Overview et la propriété Trace.

  • TraceMode
    Indique comment les messages de trace doivent être affichés pour la page lorsque le traçage est activé. Les valeurs possibles sont SortByTime et SortByCategory. Lorsque le traçage est activé, la valeur par défaut est SortByTime. Pour plus d'informations sur le traçage, consultez ASP.NET Tracing Overview.

  • Transaction
    Indique si les transactions COM+ sont prises en charge sur la page. Les valeurs possibles sont Disabled, NotSupported, Supported, Required et RequiresNew. La valeur par défaut est Disabled.

  • UICulture
    Spécifie le paramètre de culture de l'interface utilisateur à utiliser pour la page. Prend en charge n'importe quelle valeur de culture de l'interface utilisateur valide. Pour plus d'informations, consultez la propriété UICulture.

  • ValidateRequest
    Indique si la validation de la demande doit avoir lieu. Si la valeur est true, la validation de la demande compare toutes les données d'entrée à une liste codée en dur de valeurs potentiellement dangereuses. En cas de correspondance, une exception HttpRequestValidationException est levée. La valeur par défaut est true.

    Cette fonctionnalité est activée dans le fichier de configuration machine (Machine.config). Vous pouvez la désactiver dans votre fichier de configuration de l'application (Web.config) ou sur la page en affectant à cet attribut la valeur false.

    Notes

    Cette fonctionnalité permet de réduire les risques d'attaques par script entre sites pour des pages directes et des applications ASP.NET.Une application qui ne valide pas correctement les informations entrées par l'utilisateur peut faire l'objet de nombreux types d'attaques d'entrées incorrectes, y compris les attaques par script entre sites et d'injection Microsoft SQL Server.Rien ne remplace l'évaluation attentive de toutes les formes de saisie dans une application et la vérification de leur validation ou encodage correct, ou la vérification que l'application est sous forme de séquences d'échappement avant la manipulation de données ou l'envoi des informations au client.

  • ViewStateEncryptionMode
    Détermine le mode de chiffrement de l'état d'affichage, avec trois valeurs énumérées possibles : Auto, Always ou Never. La valeur par défaut est Auto, ce qui signifie que l'état d'affichage sera chiffré si un contrôle individuel le demande. Pour plus d'informations, consultez l'énumération ViewStateEncryptionMode.

  • ViewStateMode
    Spécifie la valeur de propriété ViewStateMode qui entrera en vigueur pour un contrôle lorsque la propriété ViewStateMode du contrôle sera Inherit. La valeur par défaut d'une page est ViewStateMode[SystemFolder]Enabled.

    Les propriétés ViewStateMode et EnableViewState déterminent si l'état d'affichage est maintenu pour les contrôles dans une page. Pour plus d'informations, consultez les propriétés EnableViewState et ViewStateMode.

  • 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 de la page. Les niveaux d'avertissement possibles sont compris entre 0 et 4. Pour plus d'informations, consultez la propriété WarningLevel.

Notes

Cette directive ne peut être utilisée que dans des pages Web Forms. Vous ne pouvez inclure qu'une seule directive @ Page par fichier .aspx. Par ailleurs, vous ne pouvez définir qu'un seul attribut Language par directive @ Page dans la mesure où vous ne pouvez utiliser qu'un seul langage par page. Les valeurs par défaut les plus courantes étant fournies pour la plupart des attributs, soit dans le code source, soit dans les fichiers de configuration, il est souvent inutile d'ajouter un grand nombre d'attributs à la directive. En général, il est préférable d'ajouter uniquement l'ensemble minimal d'attributs requis pour définir les fonctionnalités dont vous avez besoin pour une page. Si vous souhaitez appliquer un attribut commun à toutes les pages, par exemple si vous souhaitez activer le traçage sur toutes les pages, envisagez d'activer la fonctionnalité dans le fichier Web.config au lieu d'ajouter l'attribut Trace à chaque page individuelle.

Notes

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

Pour définir plusieurs attributs de la directive @ Page, 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.

La navigation intelligente est une fonctionnalité ASP.NET prise en charge dans les navigateurs Internet Explorer 5.5 et ultérieurs. Elle permet d'actualiser une page tout en conservant la position de défilement et le focus de l'élément entre les navigations, entraînant le stockage d'une seule page dans l'historique du navigateur et sans le scintillement commun associé à l'actualisation d'une page Web. La navigation intelligente fonctionne de manière optimale avec des pages ASP.NET qui nécessitent des publications fréquentes, mais avec un contenu visuel qui ne change pas considérablement au retour. Tenez-en compte lorsque vous choisissez d'affecter à cet attribut la valeur true.

Lorsque l'attribut AspCompat d'une page a la valeur true, si vous utilisez un constructeur pour créer un composant COM avant que la demande soit planifiée, il s'exécute sur un thread MTA (MultiThreaded Apartment). Cela provoque une nette dégradation des performances du serveur Web. Pour éviter ce problème, créez uniquement des composants COM à partir de l'un des événements Page (tel que Page_Load, Page_Init, etc.) ou de l'une des méthodes Page. Veillez également à ce que les objets ne soient pas créés au moment de la construction de la page.

L'exemple de code suivant illustre la procédure recommandée pour créer une instance d'un objet COM dans une page avec AspCompat activé.

<%@ Page AspCompat="true" language="C#" %>
<script runat="server" >

MyComObject comObj;

public void Page_Load(){
   // Use comObj here when the code is running on the STA thread pool.
   comObj = New MyComObject();
   // Do something with the combObj object.
}
<%@ Page AspCompat="true" language="VB" %>
<script runat="server" >

    Dim comObj As MyComObject 

    Public Sub Page_Load()
     'Use comObj here when the code is running on the STA thread pool.
     comObj = New MyComObject()
     ' Do something with the combObj object.
    End Sub
</script>

Notes

L'ajout d'une directive @ Master à une page maître ne permet pas d'utiliser la même déclaration de directive dans les pages qui dépendent de la page maître.Au lieu de cela, utilisez l'élément pages pour définir globalement des directives de page.

Exemple

L'exemple de code suivant indique au compilateur de pages ASP.NET d'utiliser Visual Basic comme langage de code côté serveur pour la page et affecte la valeur "text/xml" à l'attribut ContentType MIME HTTP par défaut transmis au client.

<%@ Page Language="VB" ContentType="text/xml" %>

Voir aussi

Référence

Syntaxe des directives de modèles de texte

@ Control

@ Master

Autres ressources

Syntaxe de page ASP.NET