@ Page

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.

  • 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.

  • Buffer
    Détermine si la mise en mémoire tampon des réponses HTTP est activée. true en cas d'activation de la mise en mémoire tampon des pages ; 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 et automatiquement lors de la demande de la page. Il peut s'agir de n'importe quel nom de classe valide qui 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 de la page compilée est basé sur le nom de fichier de la page.

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

  • 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.
  • 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.

    Notes

    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 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.
  • CodeFileBaseClass
    Spécifie un chemin d'accès à 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 de codage utilisée pour la réponse. Il s'agit d'un entier utilisé comme ID de la méthode de codage. 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 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 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. Par conséquent, si vous en utilisez un, vous ne pouvez pas utiliser l'autre dans la même page. Pour plus d'informations sur les valeurs de culture possibles, consultez la classe CultureInfo.
  • Debug
    Indique si la page doit être compilée avec des symboles de débogage. true si elle doit l'être ; 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
    Active la validation d'événements dans des scénarios de publication et de rappel. true si les événements sont validés ; sinon, false. La valeur par défaut est true.
  • EnableSessionState
    Définit l'état de session requis pour la page. true si l'état de session est activé ; ReadOnly si l'état de session peut être lu, mais pas modifié ; sinon, false. La valeur par défaut est true. Ces valeurs ne respectent pas la casse. Pour plus d'informations, consultez État de session ASP.NET.
  • EnableTheming
    Indique si des thèmes sont utilisés sur la page. 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 conservé entre plusieurs demandes de la page. true si l'état d'affichage est conservé ; sinon, false. La valeur par défaut est true.
  • EnableViewStateMac
    Indique qu'ASP.NET doit exécuter une vérification d'authentification de l'ordinateur (MAC) sur l'état d'affichage de la page lorsque la page est publiée par le client. true si l'état d'affichage doit être vérifié ; sinon, false. La valeur par défaut est false.

    Notes

    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. Lorsque vous affectez la valeur true à cet attribut, l'état d'affichage chiffré est contrôlé pour garantir qu'il n'a pas été falsifié sur le client. Notez que l'affectation de la valeur true à cet attribut a une incidence sur les performances. En effet, la valeur de la variable doit être déchiffrée et chiffrée pour chaque aller-retour vers la page.

  • ErrorPage
    Définit une URL cible en vue d'une redirection si une exception de page non gérée se produit.
  • 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 explicit 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 Fichier de configuration machine.

  • Inherits
    Définit une classe code-behind pour la page à hériter. Peut correspondre à toute classe dérivée de la classe Page. 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 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. 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.
  • MaintainScrollPositionOnPostback
    Indique s'il faut retourner l'utilisateur à la même position dans le navigateur client après une publication. true si c'est le cas ; 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.
  • ResponseEncoding
    Indique le nom de la méthode de codage utilisée pour la réponse HTTP qui contient le contenu d'une page. La valeur assignée à cet attribut est un nom de codage valide. Pour obtenir une liste de noms de codage possibles, consultez la classe Encoding. Vous pouvez également appeler la méthode GetEncodings pour obtenir une liste de noms et d'ID de codage 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 elle est activée ; sinon, false. La valeur par défaut est false.

    Vous pouvez également définir la propriété SmartNavigation de la page dans le code mais, en général, vous devez la définir en utilisant l'attribut avec la directive @ Page. Pour plus d'informations sur les avantages que cette fonctionnalité apporte à l'utilisateur en termes d'expérience de navigation Web, consultez la propriété SmartNavigation.

  • 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 la version 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.
  • 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 traçage est activé. true s'il l'est ; sinon, false. La valeur par défaut est false. Pour plus d'informations, consultez Traçage ASP.NET.
  • 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 Traçage ASP.NET.
  • Transaction
    Indique si les transactions 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.
  • 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 codage 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.
  • 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 vont de 0 à 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, par exemple 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 de directive
@ Control
@ Master

Autres ressources

Syntaxe de page ASP.NET