@ Page
Actualización: noviembre 2007
Define los atributos específicos de página (archivo .aspx) que utilizan el analizador y el compilador de páginas de ASP.NET.
<%@ Page attribute="value" [attribute="value"...] %>
Atributos
Async
Convierte la página en un controlador asincrónico (es decir, hace que la página utilice una implementación de IHttpAsyncHandler para procesar las solicitudes).El valor predeterminado es false.
AsyncTimeOut
Define el intervalo del tiempo de espera (en segundos) que se utiliza al procesar las tareas asincrónicas. El valor predeterminado es 45 segundos.El valor debe ser un entero.
AspCompat
Cuando su valor es true, permite ejecutar la página en un subproceso que está en un apartamento de un solo subproceso (STA). Esto permite a la página llamar a componentes STA, por ejemplo, a un componente programado con Microsoft Visual Basic 6.0. Al establecer el valor de este atributo en true, la página también puede llamar a los componentes de COM+ 1.0 que requieren acceso a los objetos integrados ASP (páginas Active Server) sin administrar. El acceso a estos objetos se obtiene a través del objeto ObjectContext o del método OnStartPage. El valor predeterminado es false.Nota
Al establecer el valor de este atributo en true, el rendimiento de la página puede disminuir. Para obtener más información, vea la sección Comentarios.
AutoEventWireup
Indica si los eventos de la página están autoconectados. Su valor es true si la autoconexión de eventos está habilitada; en caso contrario, su valor es false. El valor predeterminado es true. Para obtener más información, vea Modelo de eventos de control de servidor Web ASP.NET.Buffer
Determina si el búfer de respuestas HTTP está habilitado. El valor es true si el búfer de páginas está habilitado; en caso contrario, su valor es false.El valor predeterminado es true.
ClassName
Cadena que especifica el nombre de clase de la página que se compilará dinámicamente cuando se solicite la página. Este valor puede ser cualquier nombre de clase válido y puede incluir un nombre de clase completo. Si no se especifica ningún valor para este atributo, el nombre de clase de la página compilada se basa en el nombre de archivo de la página y utiliza el espacio de nombres ASP predeterminado. Si se especifica un valor para el atributo ClassName sin un espacio de nombres completo, se utiliza el espacio de nombres ASP combinado con el nombre de clase especificado para crear un nombre de clase completo.Otra página puede hacer referencia al nombre de clase asignado a la primera página mediante la directiva @ Reference.
Nota
En la clase de página de código subyacente se puede hacer referencia a miembros de la clase de la página .aspx asociada utilizando el nombre de clase completo de la página .aspx. Sin embargo, si precompila el sitio con la protección de código fuente habilitada, la clase de la página de código subyacente no se encuentra en el mismo ensamblado que la clase de la página .aspx. Por consiguiente, la referencia de clase en el archivo de código subyacente no funcionará. Para obtener más información sobre la precompilación, vea Información general sobre la precompilación de ASP.NET.
ClientTarget
Indica el agente de usuario de destino (normalmente, un explorador web como Microsoft Internet Explorer) para el que los controles de servidor ASP.NET deben representar contenido. Este valor puede ser cualquier alias válido que esté definido en la sección <clientTarget> del archivo de configuración de la aplicación.CodeBehind
Especifica el nombre del archivo compilado que contiene la clase asociada con la página. Este atributo no se usa en tiempo de ejecución.Nota
Este atributo se incluye para asegurar la compatibilidad con las versiones anteriores de ASP.NET con el fin de implementar la característica de código subyacente. En ASP.NET 2.0, se ha de utilizar el atributo CodeFile para especificar el nombre del archivo de código fuente, junto con el atributo Inherits para especificar el nombre completo de la clase.
CodeFile
Especifica una ruta de acceso al archivo de código subyacente al que se hace referencia para la página. Este atributo se utiliza junto con el atributo Inherits para asociar un archivo de código fuente subyacente a una página Web. Este atributo sólo es válido para las páginas compiladas.CodeFileBaseClass
Especifica el nombre de tipo de una clase base para una página y la clase de código subyacente asociada. Este atributo es opcional pero cuando se utiliza, también debe estar presente el atributo CodeFile. Utilice este atributo cuando desee implementar un escenario compartido, donde defina campos comunes (y de manera opcional, eventos asociados) en una clase base para hacer referencia a los controles declarados en una página Web. Debido al modelo de generación de código ASP.NET, si se definen los campos en una clase base sin utilizar este atributo, se generarán en tiempo de compilación nuevas definiciones de miembros para los controles declarados en la página Web (con un código auxiliar de clase parcial independiente) y el escenario deseado no funcionará. Sin embargo, si se utiliza el atributo CodeFileBaseClass para asociar la clase base a la página y la clase parcial (su nombre se asigna al atributo Inherits y se hace referencia a su archivo de código fuente mediante el atributo CodeFile) hereda de la clase base, los campos de la clase base podrán hacer referencia a los controles en la página después de la generación de código.CodePage
Indica el valor del esquema de codificación utilizado para la respuesta. El valor es un entero que sirve como identificador para el esquema de codificación. Para obtener una lista de posibles identificadores de CodePage, vea la clase Encoding.CompilationMode
Establece si debe compilarse la página mediante una cadena que especifica una o varias opciones enumeradas. El valor predeterminado es Always, de modo que las páginas .aspx se compilan de manera predeterminada. Para obtener información detallada, vea la enumeración CompilationMode.CompilerOptions
Cadena que contiene opciones del compilador para compilar la página. En C# y Visual Basic, se trata de una secuencia de modificadores de línea de comandos del compilador. Para obtener más información sobre las opciones del compilador, vea Opciones del compilador de C# o Compilador de Visual Basic.ContentType
Define el tipo de contenido HTTP de la respuesta como tipo MIME estándar. Admite cualquier cadena de tipo de contenido HTTP válida. Para obtener una lista de posibles valores, busque MIME en MSDN Library.Culture
Indica la configuración de la referencia cultural para la página. El valor de este atributo debe ser un identificador de referencia cultural válido. Observe que los atributos LCID y Culture se excluyen mutuamente; si utiliza uno de estos atributos, no puede utilizar el otro en la misma página. Para obtener más información sobre los posibles valores de referencias culturas, vea la clase CultureInfo.Debug
Indica si la página debe compilarse con símbolos de depuración. Su valor es true si la página debe compilarse con símbolos de depuración; de lo contrario, su valor será false. Dado que este valor de configuración afecta al rendimiento, el valor del atributo sólo debe establecerse en true durante el desarrollo.Description
Proporciona una descripción de la página. El analizador de ASP.NET no tiene en cuenta este valor.EnableEventValidation
Habilita la validación de eventos en los escenarios de devolución de datos y devolución de llamada. Su valor es true si se validan los eventos; de lo contrario, es false. El valor predeterminado es true.La validación de eventos de página reduce el riesgo de que se realicen solicitudes de devolución de datos y devoluciones de llamada sin autorización. Cuando la propiedad enableEventValidation se establece en true, ASP.NET permite sólo los eventos que se pueden provocar en el control durante una solicitud de devolución de datos o devolución de llamada. Con este modelo, un control registra sus eventos durante la representación y, después, valida los eventos durante el control de la devolución de datos o devolución de llamada. Todos los controles de ASP.NET orientados a eventos utilizan esta característica de forma predeterminada.
Se recomienda no deshabilitar la validación de eventos. Antes de deshabilitarla, debe estar seguro de que no se puede construir ninguna devolución de datos que tenga un efecto no deseado en la aplicación.
EnableSessionState
Define los requisitos de estado de sesión para la página. Su valor es true si el estado de sesión está habilitado; es ReadOnly si el estado de sesión se puede leer pero no cambiar; en cualquier otro caso, su valor es false. El valor predeterminado es true. Estos valores no distinguen mayúsculas de minúsculas. Para obtener más información, vea Información general sobre el estado de sesión de ASP.NET.EnableTheming
Indica si se utilizan temas en la página. Su valor es true si se utilizan temas; de lo contrario, es false. El valor predeterminado es true.EnableViewState
Indica si se mantiene el estado de la vista en las solicitudes de página. Su valor es true si se mantiene el estado de la vista; de lo contrario, es false. El valor predeterminado es true.EnableViewStateMac
Indica si ASP.NET debe ejecutar una comprobación de autenticación de equipo (MAC) en el estado de vista de la página cuando ésta se devuelve desde el cliente. Su valor es true si se debe realizar la comprobación MAC en el estado de vista; de lo contrario, es false. De manera predeterminada, es true.Nota
Un MAC de estado de vista es una versión cifrada de la variable oculta que el estado de vista de una página almacena cuando se envía al explorador. Cuando se establece el valor de este atributo en true, se comprueba el estado de vista cifrado para asegurarse de que no se ha manipulado en el cliente. Observe que al establecer el valor de este atributo en true, se ve afectado el rendimiento porque el valor variable debe descifrarse y cifrarse para cada recorrido de ida y vuelta de la página.
ErrorPage
Define una dirección URL de destino para la redirección cuando se produce una excepción de página no controlada.Explicit
Determina si la página se ha compilado mediante el modo Option Explicit de Visual Basic. true indica que la opción de compilación explícita de Visual Basic está habilitada y que todas las variables deben declararse con una instrucción Dim, Private, Public o ReDim; en caso contrario, false. El valor predeterminado es false.Nota
Los lenguajes que no sean Visual Basic omiten este atributo. Además, esta opción tiene el valor true en el archivo de configuración Machine.config. Para obtener más información, vea Archivos de configuración del equipo.
Inherits
Define la clase de código en segundo plano que hereda la página. Puede ser cualquier clase derivada de la clase Page. Este atributo se utiliza con el atributo CodeFile, que contiene la ruta de acceso al archivo de código fuente para la clase de código subyacente. El atributo Inherits distingue entre mayúsculas y minúsculas si se usa C# como lenguaje de página, pero no hace tal distinción cuando se usa Visual Basic como lenguaje de página.Si el atributo Inherits no contiene un espacio de nombres, ASP.NET comprueba si el atributo ClassName contiene un espacio de nombres. En ese caso, ASP.NET intenta cargar la clase a la que se hace referencia en el atributo Inherits utilizando el espacio de nombres del atributo ClassName. (Se supone que el atributo Inherits y el atributo ClassName utilizan el mismo espacio de nombres.)
Para obtener más información sobre las clases de código subyacente, vea Modelo de código de las páginas web ASP.NET.
Language
Especifica el lenguaje utilizado cuando se compilan todos los bloques de representación en línea (<% %> y <%= %>) y de declaraciones de código en la página. Los valores pueden representar cualquier lenguaje compatible con .NET Framework, incluidos Visual Basic, C# o JScript. Se puede utilizar y especificar sólo un lenguaje por página.LCID
Define el identificador de configuración regional de la página de formularios Web Forms.Nota
Este identificador es un valor de 32 bits que define de forma única una configuración regional. ASP.NET utiliza la configuración regional predeterminada del servidor Web, si no se especifica otra configuración regional para la página de formularios Web Forms mediante este atributo. Observe que los atributos LCID y Culture se excluyen mutuamente; si utiliza uno de estos atributos, no puede utilizar el otro en la misma página. Para obtener más información sobre las configuraciones regionales, visite MSDN Library.
LinePragmas
Determina si el motor en tiempo de ejecución debe generar directivas pragma de línea en el código fuente. Son opciones del compilador que utilizan a menudo las herramientas de depuración para marcar determinadas ubicaciones en un archivo de código fuente. Su valor es true si deben generarse directivas pragma de línea; de lo contrario, es false.MaintainScrollPositionOnPostback
Indica si debe devolverse al usuario a la misma posición en el explorador cliente después de la devolución de datos. Su valor es true si los usuarios deben devolverse a la misma posición; en caso contrario es false. El valor predeterminado es false.Nota
Los desarrolladores pueden definir este atributo para todas las páginas estableciendo el valor del atributo maintainScrollPostitionOnPostback (observe que distingue mayúsculas de minúsculas en los archivos de configuración) en el elemento <pages> del archivo Web.config.
MasterPageFile
Establece la ruta de acceso a la página principal de la página de contenido o página principal anidada. Admite rutas de acceso relativas y absolutas.ResponseEncoding
Indica el nombre del esquema de codificación utilizado para la respuesta HTTP que contiene el contenido de una página. El valor asignado a este atributo es un nombre de codificación válido. Para obtener una lista de los posibles nombres de codificación, vea la clase Encoding. Asimismo, puede llamar al método GetEncodings para obtener una lista de posibles nombres de codificación e identificadores.SmartNavigation
Indica si la página admite la característica de navegación inteligente de Internet Explorer 5.5 o posterior. Su valor es true si hasta habilitado navegación inteligente; en caso contrario, es false. El valor predeterminado es false.El valor de la propiedad SmartNavigation de la página también puede establecerse en código pero, en general, debe establecerse utilizando el atributo con la directiva @ Page. Para obtener más información sobre cómo esta característica mejora la navegación del usuario en las páginas Web, vea la propiedad SmartNavigation.
Src
Especifica una ruta de acceso a un archivo de código fuente que contiene código vinculado a la página. En el archivo de código fuente vinculado, se puede incluir lógica de programación para la página en una clase o en bloques de declaraciones de código.Se puede utilizar el atributo Src para vincular proveedores de generación a la página. Para obtener más información, vea la clase BuildProvider. Además, en las versiones de ASP.NET anteriores a 2.0, se utilizaba el atributo Src como alternativa para vincular un archivo de código subyacente a una página. En ASP.NET 2.0, el procedimiento preferido para vincular un archivo de código fuente subyacente a una página consiste en utilizar el atributo Inherits para especificar una clase, junto con el atributo CodeFile para especificar la ruta de acceso al archivo de código fuente de la clase.
Strict
Indica que la página debe compilarse mediante el modo Option Strict de Visual Basic. Su valor es true si está habilitado el modo Option Strict; en caso contrario, es false. El valor predeterminado es false.Nota
Los lenguajes que no sean Visual Basic omiten este atributo.
StyleSheetTheme
Especifica un identificador de tema válido que se va a utilizar en la página. Cuando se establece el valor de StyleSheetTheme, los controles individuales pueden reemplazar la configuración de estilo incluida en un tema. Por lo tanto, un tema puede proporcionar la apariencia global de un sitio, mientras que la configuración incluida en el atributo StyleSheetTheme permite personalizar determinados valores en una página y sus controles individuales.TargetSchema
Especifica el nombre de un esquema que valida el contenido de la página. Tiene sólo una finalidad descriptiva; en realidad, no se realiza ninguna validación y el analizador omite el atributo.Theme
Especifica un identificador de tema válido que se va a utilizar en la página. Cuando se establece el valor del atributo Theme sin que se utilice el atributo StyleSheetTheme, se reemplaza la configuración de estilo individual de los controles, lo que permite crear una apariencia homogénea y consistente en una página.Title
Especifica un título para la página que se representa entre las etiquetas HTML <title> de la respuesta. Al título también se puede obtener acceso mediante programación como una propiedad de la página. Para obtener información detallada, vea la propiedad Title.Trace
Indica si está habilitado el seguimiento. Su valor es true si está habilitado; en caso contrario, es false. El valor predeterminado es false. Para obtener más información, vea Información general sobre el seguimiento en ASP.NET.TraceMode
Indica cómo se muestran los mensajes de seguimiento de la página cuando está habilitado el seguimiento. Los valores posibles son SortByTime y SortByCategory. El valor predeterminado, cuando el seguimiento está habilitado, es SortByTime. Para obtener más información acerca del seguimiento, vea Información general sobre el seguimiento en ASP.NET.Transaction
Indica si la página admite transacciones. Los posibles valores son Disabled, NotSupported, Supported, Required y RequiresNew. El valor predeterminado es Disabled.UICulture
Especifica la configuración de la referencia cultural de la interfaz de usuario (UI) que se va a usar para la página. Admite cualquier valor válido de referencia cultural de la interfaz de usuario.ValidateRequest
Indica si se debe producir la validación de las solicitudes. Si su valor es true, la validación de las solicitudes comprueba todos los datos de entrada y los compara con una lista incluida en el código de valores potencialmente peligrosos. Si se encuentra una correspondencia con la lista, se genera una excepción HttpRequestValidationException. El valor predeterminado es true.Esta característica está habilitada en el archivo de configuración del equipo (Machine.config). Se puede deshabilitar en el archivo de configuración de la aplicación (Web.config) o en la página estableciendo el valor de este atributo en false.
Nota
Esta funcionalidad ayuda a reducir el riesgo de ataques XSS para páginas sencillas y aplicaciones ASP.NET. Una aplicación que no valide de forma apropiada la entrada de los usuarios puede sufrir muchos tipos de ataques de entrada incorrecta, incluidos ataques XSS e inyecciones de Microsoft SQL Server. No existe otro modo mejor que evaluar concienzudamente todas las formas de entrada en una aplicación y asegurarse de que están todas debidamente validadas o codificadas, o saber que la aplicación ha escapado antes de manipular datos o de enviar información al cliente.
ViewStateEncryptionMode
Determina cómo se cifra el estado de vista, con tres posibles valores enumerados:Auto, Always o Never. El valor predeterminado es Auto, lo que significa que se cifra el estado de vista si así lo solicita un control individual. Para obtener más información, vea la enumeración ViewStateEncryptionMode.WarningLevel
Indica el nivel de advertencia del compilador en el que el compilador debe tratar las advertencias como errores y, por lo tanto, anular la compilación de la página. Los posibles niveles de advertencia van del 0 al 4. Para obtener más información, vea la propiedad WarningLevel.
Comentarios
Esta directiva sólo se puede utilizar en páginas de formularios Web Forms. Se puede incluir sólo una directiva @ Page por cada archivo .aspx. Además, se puede definir sólo un atributo Language por directiva @ Page porque se puede utilizar sólo un lenguaje por página. Dado que se proporcionan los valores predeterminados más comunes para la mayoría de los atributos, ya sea en código fuente o en archivos de configuración, a menudo resulta necesario agregar un amplio conjunto de atributos a la directiva. Generalmente, se debe agregar el conjunto mínimo de atributos requeridos para especificar las características deseadas de una página. Si hay un atributo común que desee aplicar a todas las páginas, por ejemplo, si desea habilitar el seguimiento en todas las páginas, considere la posibilidad de habilitar la característica en el archivo Web.config en lugar de agregar el atributo Trace a cada página.
Nota
La directiva @ Page tiene varios atributos en común con otras directivas que se aplican a un archivo de código fuente completo, como la directiva @ Control (que se utiliza en archivos .ascx para los controles de usuario Web) y la directiva @ Master (que se utiliza en los archivos .master para las páginas principales).
Si desea definir varios atributos para la directiva @ Page, separe cada par de atributo y valor con un solo espacio. Para un atributo específico, no incluya un espacio a ambos lados del signo de igualdad (=) que conecta el atributo con su valor. Para obtener un ejemplo, vea la sección Ejemplo de este tema.
La navegaciónes inteligentes son una característica de ASP.NET compatible con Internet Explorer 5.5 y posterior. Permite la actualización de una página mientras se mantienen la posición de desplazamiento y el foco del elemento entre las navegaciones, de modo que sólo se almacena una página en el historial del explorador y no se produce el parpadeo normalmente asociado a la actualización de una página Web. La navegación inteligente son los más recomendables con las páginas ASP.NET que requieren frecuentes devoluciones de datos pero sin contenido visual que no cambia drásticamente en el momento de la devolución. Téngalo en cuenta cuando decida si va a establecer este atributo en true.
Si se establece el valor del atributo AspCompat en true para una página y se usa un constructor para crear un componente COM antes de programar la solicitud, se ejecutará en un subproceso MTA (apartamento multiproceso). Hacer esto provoca una importante degradación en el rendimiento del servidor Web. Para evitar este problema, se deben crear los componentes COM sólo desde uno de los eventos Page (como Page_Load, Page_Init, etc.) o uno de los métodos Page. Asimismo, es necesario asegurarse de que no se creen los objetos durante la construcción de la página.
En el siguiente ejemplo de código, se muestra el procedimiento recomendado para crear una instancia de un objeto COM en una página con el atributo AspCompat habilitado.
<%@ 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
Agregar una directiva @ Master a una página principal no permite usar la misma declaración de directiva en las páginas que dependen de la página principal. En su lugar, se debe utilizar el elemento <pages> para definir las directivas de página de manera global.
Ejemplo
En el siguiente ejemplo de código se indica al compilador de páginas ASP.NET que utilice Visual Basic como lenguaje de código de servidor para la página y se establece el atributo ContentType MIME HTTP predeterminado que se transmite al cliente en "text/xml".
<%@ Page Language="VB" ContentType="text/xml" %>