@ Page
Mise à jour : novembre 2007
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.Remarque : 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 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.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 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.
Remarque : 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 Vue d'ensemble de la précompilation ASP.NET.
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.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 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 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 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 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 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 LibraryCulture
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.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 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 Vue d'ensemble de l'é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 true.Remarque : 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.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 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 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.Remarque : 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.Remarque : 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 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.Remarque : 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 Vue d'ensemble du 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 Vue d'ensemble du 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.
Remarque : 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.
Remarque : |
---|
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>
Remarque : |
---|
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" %>