@ Page

Aggiornamento: novembre 2007

Definisce gli attributi specifici della pagina (file ASPX) utilizzati dal compilatore e dal parser di pagine ASP.NET.

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

Attributi

  • Async
    Rende la pagina un gestore asincrono, ovvero la pagina utilizza un'implementazione di IHttpAsyncHandler per elaborare le richieste.

    L'impostazione predefinita è false.

  • AsyncTimeOut
    Definisce l'intervallo di timeout, espresso in secondi, utilizzato nell'elaborazione delle attività asincrone. Il valore predefinito è 45 secondi.

    Deve essere un valore integer.

  • AspCompat
    Quando è impostato su true, consente alla pagina di essere eseguita su un thread apartment a thread singolo (STA, Single-Threaded Apartment). In questo modo la pagina è in grado di richiamare i componenti con threading Apartment singolo, ad esempio un componente sviluppato con Microsoft Visual Basic 6.0. Se si imposta questo attributo su true, dalla pagina sarà inoltre possibile chiamare componenti COM+ versione 1.0 che richiedono l'accesso a oggetti incorporati ASP non gestiti. Tali oggetti sono accessibili mediante l'oggetto ObjectContext o il metodo OnStartPage. L'impostazione predefinita è false.

    Nota

    L'impostazione di questo attributo su true potrebbe influire negativamente sulle prestazioni della pagina. Per ulteriori informazioni, vedere la sezione "Note".

  • AutoEventWireup
    Indica se gli eventi della pagina vengono connessi automaticamente. true indica che la connessione automatica degli eventi è attivata, false indica invece il caso contrario. L'impostazione predefinita è true. Per ulteriori informazioni, vedere Modello di eventi dei controlli server Web ASP.NET.

  • Buffer
    Determina se il buffer delle risposte HTTP è attivato. true indica che il buffer delle pagine è attivato, false indica invece il caso contrario.

    L'impostazione predefinita è true.

  • ClassName
    Stringa che specifica il nome della classe per la pagina che verrà compilata in modo dinamico quando verrà richiesta. Per tale valore è possibile utilizzare qualsiasi nome di classe valido e includere uno spazio dei nomi completo. Se non viene specificato un valore per questo attributo, il nome della classe per la pagina compilata si basa sul nome file della pagina e viene utilizzato lo spazio dei nomi predefinito ASP. Se un valore per l'attributo ClassName viene specificato senza un spazio dei nomi completo, verrà utilizzato lo spazio dei nomi ASP, in combinazione con il nome della classe specificato per creare un nome di classe completo.

    Al nome della classe assegnato alla prima pagina può fare riferimento un'altra pagina mediante la direttiva @ Reference.

    Nota

    Nella classe della pagina code-behind è possibile fare riferimento a membri della classe della pagina aspx associata utilizzando il nome della classe completo per la pagina aspx. Tuttavia, se si precompila il sito con la protezione dell'origine attivata, la classe della pagina code-behind non si trova nello stesso assembly della classe della pagina aspx. Pertanto, il riferimento della classe nel file code-behind non funzionerà. Per ulteriori informazioni sulla precompilazione, vedere Cenni preliminari sulla precompilazione in ASP.NET.

  • ClientTarget
    Indica l'agente utente di destinazione (generalmente un browser Web quale Microsoft Internet Explorer) per il quale è necessario che i controlli server ASP.NET eseguano il rendering del contenuto. Per tale valore è possibile utilizzare qualsiasi alias valido definito all'interno della sezione <clientTarget> del file di configurazione dell'applicazione.

  • CodeBehind
    Specifica il nome del file compilato contenente la classe associata alla pagina. Questo attributo non viene utilizzato in fase di esecuzione.

    Nota

    L'attributo è incluso per garantire la compatibilità con le versioni precedenti di ASP.NET, per implementare la funzionalità code-behind. In ASP.NET versione 2.0, invece, è necessario utilizzare l'attributo CodeFile per specificare il nome del file di origine, insieme all'attributo Inherits per specificare il nome completo della classe.

  • CodeFile
    Specifica il percorso del file code-behind cui si fa riferimento per la pagina. Questo attributo viene utilizzato insieme all'attributo Inherits per associare un file di origine code-behind a una pagina Web. L'attributo è valido solo per le pagine compilate.

  • CodeFileBaseClass
    Specifica il nome del tipo di una classe base per una pagina e la classe code-behind a essa associata. Questo attributo è facoltativo ma, quando viene utilizzato, è necessario che sia presente anche l'attributo CodeFile. Utilizzare questo attributo se si intende implementare uno scenario condiviso in cui si definiscono campi comuni (e facoltativamente gli eventi associati) in una classe base per fare riferimento ai controlli dichiarati in una pagina Web. A causa del modello di generazione del codice ASP.NET, se i campi venissero definiti in una classe base senza utilizzare questo attributo, in fase di compilazione verrebbero generate nuove definizioni di membri per i controlli dichiarati nella pagina Web (all'interno di uno stub di classe parziale separato) e lo scenario desiderato non funzionerebbe. Se, tuttavia, si utilizza l'attributo CodeFileBaseClass per associare la classe base alla pagina e si fa in modo che la classe parziale (il cui nome è assegnato all'attributo Inherits e al cui file di origine viene fatto riferimento dall'attributo CodeFile) erediti dalla classe base, i campi della classe base saranno in grado di fare riferimento ai controlli della pagina dopo la generazione di codice.

  • CodePage
    Indica il valore dello schema di codifica utilizzato per la risposta. Si tratta di un valore integer che funge da ID per lo schema di codifica. Per un elenco dei possibili ID CodePage, vedere la classe Encoding.

  • CompilationMode
    Imposta un valore che indica se la pagina deve essere compilata utilizzando una stringa che specifica una tra varie opzioni enumerate. Il valore predefinito è Always, pertanto le pagine con estensione aspx vengono compilate per impostazione predefinita. Per informazioni dettagliate, vedere l'enumerazione CompilationMode.

  • CompilerOptions
    Stringa contenente le opzioni del compilatore utilizzate per la compilazione della pagina. In C# e Visual Basic si tratta di una sequenza di opzioni della riga di comando del compilatore. Per ulteriori informazioni sulle opzioni del compilatore, vedere Opzioni del compilatore C# o Compilatore di Visual Basic.

  • ContentType
    Definisce il tipo di contenuto HTTP della risposta come tipo MIME standard. Supporta qualsiasi stringa di tipo contenuto HTTP valida. Per un elenco dei valori possibili, eseguire la ricerca di MIME in MSDN Library (informazioni in lingua inglese).

  • Culture
    Indica le impostazioni cultura per la pagina. Il valore di questo attributo deve essere un ID di impostazioni cultura valido. Si osservi che gli attributi LCID e Culture si escludono a vicenda, ovvero se si utilizza uno di questi attributi, non è possibile utilizzare l'altro nella stessa pagina. Per ulteriori informazioni sui possibili valori di impostazioni cultura, vedere la classe CultureInfo.

  • Debug
    Indica se è necessario compilare la pagina con i simboli di debug. true indica che è necessario compilare la pagina con i simboli di debug. false indica invece la situazione opposta. Questa impostazione influisce in modo significativo sulle prestazioni, pertanto è preferibile che l'attributo sia impostato solo su true durante lo sviluppo.

  • Description
    Fornisce una descrizione in formato testo della pagina. Questo valore viene ignorato dal parser ASP.NET.

  • EnableEventValidation
    Attiva la convalida degli eventi negli scenari di callback e postback. true se gli eventi vengono sottoposti a convalida; in caso contrario, false. L'impostazione predefinita è true.

    La convalida dell'evento della pagina riduce il rischio di richieste di postback e callback non autorizzati. Quando la proprietà enableEventValidation è impostata su true, ASP.NET consente solo gli eventi che possono essere generati nel controllo durante una richiesta di postback o un callback. Con questo modello, un controllo registra i relativi eventi durante il rendering e quindi li convalida durante la gestione di postback o callback. Tutti i controlli basati su eventi in ASP.NET utilizzano questa funzionalità per impostazione predefinita.

    Si consiglia di non disabilitare la convalida degli eventi. Prima di disabilitare la convalida degli eventi, verificare che non sia possibile creare alcun postbck che avrebbe effetti indesiderati sull'applicazione.

  • EnableSessionState
    Definisce i requisiti di stato sessione per la pagina. true indica che lo stato sessione è abilitato, ReadOnly indica che è possibile leggere ma non modificare lo stato sessione. false indica invece che non è abilitato. L'impostazione predefinita è true. Per questi valori non è necessario operare la distinzione tra caratteri maiuscoli e minuscoli. Per ulteriori informazioni, vedere la classe Cenni preliminare sullo stato della sessione ASP.NET.

  • EnableTheming
    Indica se sulla pagina vengono utilizzati i temi. true se vengono utilizzati, in caso contrario false. L'impostazione predefinita è true.

  • EnableViewState
    Indica se lo stato della visualizzazione viene conservato su tutte le richieste di pagina. true indica che lo stato della visualizzazione viene mantenuto, false indica invece il caso contrario. L'impostazione predefinita è true.

  • EnableViewStateMac
    Indica che in ASP.NET è necessario eseguire una verifica di autenticazione del computer (MAC) sullo stato della visualizzazione della pagina, quando la pagina viene rinviata dal client. true indica che lo stato della visualizzazione viene sottoposto alla verifica, false indica invece il caso contrario. Il valore predefinito è true.

    Nota

    Il codice MAC dello stato di visualizzazione è una versione crittografata della variabile nascosta in cui viene reso permanente lo stato di visualizzazione di una pagina quando questa viene inviata al browser. Quando si imposta questo attributo su true, lo stato di visualizzazione crittografato viene controllato per verificare che non sia stato alterato dal client. Si osservi che l'impostazione di questo attributo su true incide sulle prestazioni in quanto il valore variabile deve essere decrittografato e crittografato per ciascun percorso di andata e ritorno della pagina.

  • ErrorPage
    Definisce un URL di destinazione per il reindirizzamento se si verifica un'eccezione di pagina non gestita.

  • Explicit
    Determina se la pagina viene compilata utilizzando la modalità Option Explicit di Visual Basic. true indica che l'opzione di compilazione esplicita di Visual Basic è attivata e che tutte le variabili devono essere dichiarate tramite un'istruzione Dim, Private, Public o ReDim; in caso contrario false. L'impostazione predefinita è false.

    Nota

    L'attributo viene ignorato dai linguaggi diversi da Visual Basic. Tale opzione viene inoltre impostata su true nel file di configurazione Machine.config. Per ulteriori informazioni, vedere File di configurazione del computer.

  • Inherits
    Definisce una classe code-behind per la pagina da ereditare. Può essere una classe qualsiasi derivata dalla classe Page. Questo attributo è utilizzato con l'attributo CodeFile, che contiene il percorso del file di origine per la classe code-behind. L'attributo Inherits fa distinzione tra maiuscole e minuscole quando si utilizza C# come linguaggio della pagina, mentre non fa alcuna distinzione tra maiuscole e minuscole quando si utilizza Visual Basic.

    Se l'attributo Inherits non contiene uno spazio dei nomi, ASP.NET controlla se l'attributo ClassName contiene uno spazio dei nomi. In caso affermativo, ASP.NET tenta di caricare la classe a cui viene fatto riferimento nell'attributo Inherits utilizzando lo spazio dei nomi dell'attributo ClassName. (Si parte dal presupposto che l'attributo Inherits e l'attributo ClassName utilizzino entrambi lo stesso spazio dei nomi.)

    Per ulteriori informazioni sulle classi code-behind, vedere Modello di codice di pagine Web ASP.NET.

  • Language
    Specifica il linguaggio utilizzato nella compilazione del rendering inline (<% %> e <%= %>) e dei blocchi di dichiarazione del codice all'interno della pagina. I valori possono rappresentare qualsiasi linguaggio supportato da .NET Framework, inclusi Visual Basic, C# o JScript. È possibile utilizzare e specificare un solo linguaggio per pagina.

  • LCID
    Definisce l'identificatore delle impostazioni locali per la pagina di Web Form.

    Nota

    L'identificatore delle impostazioni locali è un valore a 32 bit che definisce in modo univoco le impostazioni locali. ASP.NET utilizza le impostazioni locali predefinite del server Web a meno che non vengano specificate impostazioni diverse per una pagina di Web Form, utilizzando questo attributo. Si osservi che gli attributi LCID e Culture si escludono a vicenda, ovvero se si utilizza uno di questi attributi, non è possibile utilizzare l'altro nella stessa pagina. Per ulteriori informazioni sulle impostazioni locali, effettuare una ricerca nella MSDN Library.

  • LinePragmas
    Determina se il runtime deve generare pragma di linea nel codice sorgente. Si tratta di opzioni del compilatore spesso utilizzate dagli strumenti di debug per contrassegnare posizioni specifiche in un file di origine. true se i pragma di linea devono essere generati, in caso contrario false.

  • MaintainScrollPositionOnPostback
    Indica se riportare l'utente nella stessa posizione nel browser client dopo il postback. true se gli utenti vengono riportati nella stessa posizione, in caso contrario false. L'impostazione predefinita è false.

    Nota

    Gli sviluppatori possono definire questo attributo per tutte le pagine impostando l'attributo maintainScrollPostitionOnPostback sull'elemento <pages> del file Web.config. Per l'impostazione dell'attributo nei file di configurazione è rilevante la distinzione tra maiuscole e minuscole.

  • MasterPageFile
    Imposta il percorso della pagina master per la pagina del contenuto o la pagina master nidificata. Supporta percorsi relativi e assoluti.

  • ResponseEncoding
    Indica il nome dello schema di codifica utilizzato per la risposta HTTP in cui è presente il contenuto di una pagina. Il valore assegnato a questo attributo è un nome di codifica valido. Per un elenco dei nomi di codifica possibili, vedere la classe Encoding. È possibile ottenere un elenco degli ID e dei nomi di codifica possibili anche chiamando il metodo GetEncodings.

  • SmartNavigation
    Indica se la pagina supporta la funzionalità "smart navigation" di Internet Explorer 5.5 o versione successiva. true se tale funzionalità è attivata, in caso contrario false. L'impostazione predefinita è false.

    È inoltre possibile impostare la proprietà SmartNavigation per la pagina nel codice ma, come regola generale, è preferibile impostarla utilizzando l'attributo con la direttiva @ Page. Per ulteriori informazioni su come questa funzione migliora l'esplorazione delle pagine Web, vedere la proprietà SmartNavigation.

  • Src
    Specifica un percorso di un file di origine contenente codice collegato alla pagina. Nel file di origine collegato è possibile scegliere di includere logica di programmazione per la pagina in una classe o nei blocchi di dichiarazione del codice.

    È possibile utilizzare l'attributo Src per collegare i provider di compilazione alla pagina. Per ulteriori informazioni, vedere la classe BuildProvider. Nelle versioni di ASP.NET precedenti alla versione 2.0, inoltre, l'attributo Src veniva utilizzato come metodo alternativo per collegare un file code-behind a una pagina. In ASP.NET 2.0 l'approccio consigliato per il collegamento di un file di origine code-behind a una pagina consiste nell'utilizzare l'attributo Inherits per specificare una classe, insieme all'attributo CodeFile per specificare il percorso del file di origine per la classe.

  • Strict
    Indica che la pagina deve essere compilata utilizzando la modalità Option Strict di Visual Basic. true se la modalità Option Strict è attivata, in caso contrario false. L'impostazione predefinita è false.

    Nota

    L'attributo viene ignorato dai linguaggi diversi da Visual Basic.

  • StyleSheetTheme
    Specifica un identificatore di tema valido da utilizzare per la pagina. Quando è impostato l'attributo StyleSheetTheme, i singoli controlli possono eseguire l'override delle impostazioni stilistiche contenute in un tema. In questo modo un tema può fornire l'aspetto di insieme di un sito, mentre le impostazioni contenute nell'attributo StyleSheetTheme consentono di personalizzare impostazioni specifiche su una pagina e sui rispettivi singoli controlli.

  • TargetSchema
    Specifica il nome di uno schema che convalida il contenuto sulla pagina. Lo scopo di questo attributo è di carattere esclusivamente descrittivo, non viene eseguita alcuna convalida effettiva e l'attributo viene ignorato dal parser.

  • Theme
    Specifica un identificatore di tema valido da utilizzare per la pagina. Quando viene impostato senza utilizzare l'attributo StyleSheetTheme, l'attributo Theme esegue l'override delle singole impostazioni di stile sui controlli, consentendo di conferire un aspetto uniforme e coerente a una pagina.

  • Title
    Specifica un titolo per la pagina di cui viene eseguito il rendering all'interno dei tag HTML <title> nella risposta. È possibile accedere al titolo anche a livello di codice come proprietà della pagina. Per informazioni dettagliate, vedere la proprietà Title.

  • Trace
    Indica se è attivata la funzione di analisi. true se è attivata, in caso contrario false. L'impostazione predefinita è false. Per ulteriori informazioni, vedere Cenni preliminari sull'analisi di ASP.NET.

  • TraceMode
    Indica il modo in cui visualizzare i messaggi di analisi per la pagina quando la funzione di analisi è attivata. I valori possibili sono SortByTime e SortByCategory. Quando la funzione di analisi è attivata, l'impostazione predefinita è SortByTime. Per ulteriori informazioni sulla funzione di analisi, vedere Cenni preliminari sull'analisi di ASP.NET.

  • Transaction
    Indica se le transazioni sono supportate nella pagina. Tra i possibili valori sono compresi Disabled, NotSupported, Supported, Required e RequiresNew. L'impostazione predefinita è Disabled.

  • UICulture
    Specifica le impostazioni cultura dell'interfaccia utente da utilizzare per la pagina. Viene supportato qualunque valore di impostazioni cultura di UI valido.

  • ValidateRequest
    Indica se eseguire la convalida delle richieste. Se l'impostazione è true, la convalida delle richieste viene eseguita su tutti i dati di input sulla base di un elenco hardcoded dei valori potenzialmente pericolosi. Se viene rilevata una corrispondenza, viene generata un'eccezione HttpRequestValidationException. L'impostazione predefinita è true.

    Questa funzionalità è abilitata nel file di configurazione del computer (Machine.config). È possibile disabilitarla nel file di configurazione dell'applicazione (Web.config) o nella pagina impostando questo attributo su false.

    Nota

    Questa funzionalità consente di ridurre il rischio di attacchi di script su più siti per le pagine e le applicazioni ASP.NET semplici. Un'applicazione che non convalida correttamente l'input dell'utente può essere soggetta a diversi tipi di attacco dovuti a input con formato non valido, inclusi gli attacchi di script su più siti e di inserimento di Microsoft SQL Server. Non esiste una soluzione alternativa all'attenta valutazione di tutte le forme di input per un'applicazione e al controllo che tale input venga convalidato o codificato in modo corretto oppure che l'applicazione venga chiusa prima dell'utilizzo dei dati o della restituzione di informazioni al client.

  • ViewStateEncryptionMode
    Determina la modalità di crittografia dello stato di visualizzazione, con tre possibili valori numerati: Auto, Always, o Never. L'impostazione predefinita è Auto, ovvero lo stato di visualizzazione verrà crittografato se un controllo singolo lo richiede. Per ulteriori informazioni, vedere l'enumerazione ViewStateEncryptionMode.

  • WarningLevel
    Indica il livello di avviso del compilatore raggiunto il quale questo considera gli avvisi come errori interrompendo la compilazione della pagina. I livelli di avviso possibili sono compresi tra 0 e 4. Per ulteriori informazioni, vedere la proprietà WarningLevel.

Note

È possibile utilizzare questa direttiva solo nelle pagine Web Form. È possibile includere una sola direttiva @ Page in ogni file con estensione aspx. È, inoltre, possibile definire un solo attributo Language per ogni direttiva @ Page, in quanto per ciascuna pagina è possibile utilizzare un solo linguaggio. Poiché per la maggior parte degli attributi vengono forniti i valori predefiniti utilizzati con maggiore frequenza, nel codice sorgente o nei file di configurazione, spesso non esiste la necessità di aggiungere un insieme di attributi di grandi dimensioni alla direttiva. In linea generale, è preferibile aggiungere l'insieme minimo di attributi necessario per specificare le funzioni desiderate per una pagina. Se esiste un attributo comune che si desidera applicare a tutte le pagine, ad esempio se si intende attivare la funzione di analisi per tutte le pagine, prendere in considerazione la possibilità di abilitare la funzione nel file Web.config piuttosto che aggiungere l'attributo Trace a ogni singola pagina.

Nota

La direttiva @ Page ha una serie di attributi in comune con altre direttive che si applicano a un intero file di origine, ad esempio la direttiva @ Control (utilizzata nei file ascx per i controlli utente Web) e la direttiva @ Master (utilizzata nei file con estensione master per le pagine master).

Per definire più attributi per la direttiva @ Page, separare ogni coppia attributo/valore inserendo uno spazio singolo. Per un attributo specifico non inserire uno spazio prima e dopo il segno di uguale (=) che collega l'attributo al rispettivo valore. Per un esempio, vedere la sezione Esempio del presente argomento.

"Smart navigation" è una funzionalità di ASP.NET supportata nei browser Internet Explorer 5.5 e versioni successive. Tale funzionalità consente l'aggiornamento della pagina, pur mantenendo la posizione di scorrimento e lo stato attivo di un elemento tra gli spostamenti. Nella cronologia del browser viene quindi archiviata un'unica pagina e non si verifica lo sfarfallio solitamente associato all'aggiornamento di una pagina Web. La funzionalità "smart navigation" fornisce risultati ottimali con le pagine ASP.NET che richiedono postback frequenti ma che non subiscono cambiamenti radicali a livello di visualizzazione alla ricezione della risposta del client. Valutare attentamente questo aspetto per decidere se impostare questo attributo su true.

Quando l'attributo AspCompat è impostato su true per una pagina, se si utilizza un costruttore per creare un componente COM prima che la richiesta venga pianificata, verrà eseguito in un thread apartment con multithreading (Multithreaded Apartment, MTA). Questa operazione provoca un peggioramento significativo nelle prestazioni del server Web. Per evitare questo problema, creare componenti COM solo da uno degli eventi Page (ad esempio Page_Load, Page_Init e così via) oppure uno dei metodi Page. Controllare inoltre che gli oggetti non vengano creati durante la costruzione della pagina.

Nell'esempio di codice riportato di seguito viene illustrata la modalità consigliata per la creazione di un'istanza di un oggetto COM in una pagina con AspCompat attivato.

<%@ 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>

Nota

L'aggiunta di una direttiva @ Master a una pagina master non consente l'utilizzo della stessa dichiarazione di direttiva nelle pagine che da questa dipendono. Per definire globalmente le direttive di pagina, è preferibile utilizzare l'elemento <pages>.

Esempio

Nell'esempio di codice riportato di seguito viene indicato al compilatore di pagina ASP.NET di utilizzare Visual Basic come linguaggio di codice per il lato server e l'attributo ContentType MIME HTTP predefinito trasmesso al client viene impostato su "text/xml".

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

Vedere anche

Riferimenti

Sintassi delle direttive

@ Control

@ Master

Altre risorse

Sintassi di pagine ASP.NET