@ Page

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.

    Para obtener más información, vea la propiedad AsyncTimeout.

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

    NotaNota

    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. Es true si está habilitada la autoconexión de eventos; en caso contrario, es false. De manera predeterminada, es true. Para obtener más información, vea Modelo de eventos de control de servidor web ASP.NET.

  • Buffer
    Determina si el almacenado en búfer de la respuesta HTTP está habilitado. Es true si está habilitado el búfer de páginas; en caso contrario, es false.

    De manera predeterminada, 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.

    NotaNota

    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.

  • ClientIDMode
    Especifica el algoritmo que se utiliza para generar valores ClientID para los controles. El valor predeterminado es Predictable. El valor predeterminado del control es Inherit. Por tanto, la configuración ClientID de la página determina el algoritmo predeterminado para los controles de una página. Se puede establecer un valor predeterminado diferente en el elemento pages del archivo Web.config. Para obtener más información sobre algoritmos, vea ClientIDMode.

  • 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. Para obtener más información, vea la propiedad ClientTarget.

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

    Este atributo se usa para proyectos de aplicación web. El atributo CodeFile se usa para proyectos de sitio web. Para obtener más información acerca de los tipos de proyecto web de Visual Studio, vea Proyectos de aplicación web frente a proyectos de sitio web.

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

    Este atributo se usa para proyectos de sitio web. El atributo CodeBehind se utiliza para los proyectos de aplicación web. Para obtener más información acerca de los tipos de proyecto web de Visual Studio, vea Proyectos de aplicación web frente a proyectos de sitio web.

  • 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, vea la propiedad Culture y la clase CultureInfo.

  • Debug
    Indica si la página debe compilarse con símbolos de depuración. Es true si la página debe compilarse con símbolos de depuración; de lo contrario, es 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 escenarios de postback y devolución de llamada. Es true si se validan los eventos; en caso contrario, es false. De manera predeterminada, 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. 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, es false. De manera predeterminada, 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 usan temas en la página. Es true si se utilizan temas; en caso contrario, es false. De manera predeterminada, es true.

  • EnableViewState
    Especifica si el estado de vista se mantiene en todas las solicitudes de páginas. Este valor es true si se mantiene el estado de vista o false si no se mantiene el estado de vista. De manera predeterminada, es true.

    Aun cuando esta propiedad está establecida en true, el estado de vista no se mantendrá para un control si cualquiera de las siguientes condiciones se aplica:

    Para obtener más información sobre el estado de vista y el estado del control, vea la propiedad Control.EnableViewState.

  • EnableViewStateMac
    Indica que ASP.NET debe comprobar los códigos de autenticación de mensajes (MAC) en el estado de vista de la página cuando el cliente devuelve la página. Es true si se debe hacer la comprobación MAC el estado de la vista; de lo contrario, es false. De manera predeterminada, es true.

    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. El MAC se usa para comprobar que el estado de vista no se ha manipulado en el cliente.

    Nota de seguridadNota sobre la seguridad

    Este atributo nunca debe establecerse en false en un sitio web de producción.

  • ErrorPage
    Define una dirección URL de destino para la redirección cuando se produce una excepción de página no controlada. Para obtener más información, vea la propiedad ErrorPage.

  • Explicit
    Determina si la página se compilará utilizando 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.

    NotaNota

    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 de ASP.NET.

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

    NotaNota

    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. Éstas son opciones del compilador que las herramientas de depuración utilizan a menudo para marcar determinadas ubicaciones en un archivo de código fuente. Es true si debe generarse líneas pragmas; en caso contrario, es false.

  • MaintainScrollPositionOnPostback
    Indica si el usuario regresará a la misma posición del explorador cliente después del postback. Es true si debe enviarse al usuario a la misma posición; en caso contrario, es false. El valor predeterminado es false.

    NotaNota

    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 maestra de la página de contenido o página maestra anidada. Admite rutas de acceso relativas y absolutas. Para obtener más información, vea la propiedad MasterPageFile.

  • MetaDescription
    Establece la propiedad MetaDescription. Si el marcado de la página también incluye un elemento meta de "descripción", el valor en la directiva @ Page reemplazará el valor en el marcado.

  • MetaKeywords
    Establece la propiedad MetaKeywords. Si el marcado de la página también incluye un elemento meta de "palabras claves", el valor en la directiva @ Page reemplazará el valor en el marcado.

  • 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 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. Es true si las navegaciones inteligentes están habilitadas; de lo contrario, es false. El valor predeterminado es false.

    En la versión 2.0 y versiones posteriores de ASP.NET, la propiedad SmartNavigation está en desuso. En su lugar, utilice el método SetFocus y la propiedad MaintainScrollPositionOnPostback().

  • 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 compilació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 utilizando el modo OptionStrict de Visual Basic. Es true si Option Strict está habilitado; en caso contrario, es false. El valor predeterminado es false.

    NotaNota

    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. Para obtener más información, vea la propiedad Theme.

  • 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 más información, vea la propiedad Title.

  • Trace
    Indica si está habilitada la traza. true si está habilitada la traza; en caso contrario, false. El valor predeterminado es false. Para obtener más información, vea las propiedades Información general sobre la traza en ASP.NET y Trace.

  • TraceMode
    Indica cómo se muestran los mensajes de traza de la página cuando está habilitada la traza. Los valores posibles son SortByTime y SortByCategory. El valor predeterminado, cuando la traza está habilitada, es SortByTime. Para obtener más información acerca de la traza, vea Información general sobre la traza en ASP.NET.

  • Transaction
    Indica si la página admite transacciones COM+. Los posibles valores son Disabled, NotSupported, Supported, Required y RequiresNew. El tipo 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. Para obtener más información, vea la propiedad UICulture.

  • 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. De manera predeterminada, 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.

    NotaNota

    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.

  • ViewStateMode
    Especifica el valor de la propiedad ViewStateMode que surtirá efecto para un control cuando la propiedad ViewStateMode del control sea Inherit. El valor predeterminado ViewStateMode para una página es Enabled.

    Las propiedades EnableViewState y ViewStateMode determinan si el estado de vista se mantiene para los controles de una página. Para obtener más información, vea las propiedadesEnableViewState y ViewStateMode.

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

NotaNota

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 de las páginas maestras).

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ón inteligente es 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>
NotaNota

Agregar una directiva @ Master a una página maestra no permite usar la misma declaración de directiva en las páginas que dependen de la página maestra.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" %>

Vea también

Referencia

Sintaxis de directivas de plantilla de texto

@ Control

@ Master

Otros recursos

Sintaxis de páginas de ASP.NET