Esta documentación está archivada y no tiene mantenimiento.

Controles de servidor Web ASP.NET y funciones del explorador

La compatibilidad con las distintas funciones varía según el explorador que se utilice y según la versión del mismo. Los controles de servidor ASP.NET determinarán automáticamente el explorador que ha solicitado la página y presentarán el formato adecuado para dicho explorador. No obstante, algunas funciones del control podrían no representarse en los exploradores más antiguos, por lo que es conveniente examinar el resultado de las páginas en el mayor número posible de exploradores para asegurarse de que éstas se presentan en todos los exploradores en la forma ideada.

Detección automática del tipo de explorador

De manera predeterminada, el marco de trabajo de páginas ASP.NET determina la capacidad del explorador leyendo la información del agente de usuario pasada desde el explorador al servidor durante una solicitud. Esta información está disponible como propiedad UserAgent del objeto HttpRequest. La página compara la información del agente de usuario con las entradas de los archivos de configuración y los archivos de definición del explorador.

NoteNota

La sección Elemento browserCaps (Esquema de configuración de ASP.NET) de los archivos de configuración (.config) ha quedado en desuso en la versión 2.0 de .NET Framework. Por compatibilidad con versiones anteriores, los valores de configuración de esta sección siguen siendo efectivos si se definen en el nivel de aplicación, pero se combinan con la información incluida en los archivos de definición del explorador (.browser) situados en la carpeta %raízDelSistema%\Microsoft.NET\Framework\númeroDeVersión\CONFIG\Browsers del equipo y las carpetas App_Browser existentes en el nivel de aplicación. Para obtener más información, vea Esquema de archivos de definición de explorador (Elemento browsers).

Cuando la página encuentra una coincidencia entre la información del agente de usuario actual y los agentes de usuario enumerados en el archivo, puede leer las funciones correspondientes del explorador; por ejemplo, si admite secuencias de comandos, estilos, marcos, etc. Basándose en estas funciones, los controles de la página representan los controles Web con el formato correspondiente, como XHTML, HTML 3.2, etc. Si ASP.NET está representando HTML, puede determinar si debe representar versiones recientes (compatibles con las hojas de estilos en cascada) o anteriores (no compatibles con las hojas de estilos en cascada) de los elementos HTML. En el caso de los exploradores más antiguos, ASP.NET representa la información de formato mediante etiquetas (por ejemplo, una etiqueta <font>) en lugar de utilizar hojas de estilos.

Anular la detección de tipo de explorador

Si desea controlar de forma explícita la representación de la página en lugar de basarse en la detección automática del explorador, puede establecer la propiedad ClientTarget de la página. Dicha propiedad puede establecerse mediante declaración como atributo de la directiva @ Page para la página o puede establecerse mediante programación.

El valor de la propiedad ClientTarget es un alias del tipo de explorador en el que desea representar la página. Por ejemplo, para forzar que la página se represente en Microsoft Internet Explorer 6.0, puede utilizar el alias uplevel. El alias debe definirse en la sección Elemento clientTarget (Esquema de configuración de ASP.NET) del archivo de configuración. Los valores predeterminados son ie5, ie4, uplevel y downlevel.

Si especifica el alias downlevel, podrá forzar que la página represente elementos compatibles con HTML 3.2, independientemente del explorador que solicite la página. De manera similar, si especifica uplevel, podrá forzar que la página represente atributos de estilo de las hojas de estilos en cascada, incluso para las versiones anteriores de los exploradores.

Puede crear alias adicionales si los define en los archivos Machine.config o Web.config, lo que le permitirá crear definiciones de explorador personalizadas. Para obtener más información, vea Opciones de configuración de ASP.NET.

Secuencias de comandos de cliente

Algunas funcionalidades de los controles de servidor ASP.NET dependen de su capacidad para ejecutar secuencias de comandos de cliente, que se generan automáticamente y se envían como parte de la página si el explorador tiene capacidad para ejecutarlas. Incluso en este caso, algunos usuarios podrían haber desactivado la ejecución de las secuencias de comandos en su explorador, por lo que no podrían sacar el máximo partido de las posibilidades del control. Para obtener más información, vea Secuencias de comandos del cliente en páginas Web ASP.NET.

Funciones de explorador de nivel superior y de nivel inferior

Los exploradores de equipos de escritorio se dividen en dos grupos distintos: de nivel superior o "uplevel" (versiones más recientes) y de nivel inferior o "downlevel" (versiones anteriores). Estos grupos definen el tipo de compatibilidad original que ofrece el explorador o el dispositivo de cliente y generalmente determinan la presentación y el comportamiento de una página cargada desde un servidor Web.

Los exploradores y dispositivos de cliente de nivel superior suelen admitir como mínimo lo siguiente:

  • ECMAScript (JScript, JavaScript) versión 1.2

  • HTML versión 4.0

  • Modelo de objetos de documento de Microsoft (MSDOM)

  • Hojas de estilos en cascada (CSS)

Los exploradores y dispositivos de cliente de nivel inferior sólo son compatibles con lo siguiente:

  • HTML versión 3.2

Las propiedades del control de servidor que se muestran en la tabla siguiente se representan de manera diferente para los exploradores de nivel superior y los de nivel inferior.

Propiedad del control de servidor Comportamiento de representación en los exploradores de nivel superior y de nivel inferior

AccessKey

Esta propiedad no funciona en ningún control en los exploradores de nivel inferior. No es HTML 4.0 y sólo funciona en Internet Explorer 4.0 o versiones posteriores.

BackColor

Esta propiedad funciona en los exploradores de nivel inferior sólo para ciertos controles: Table, Panel, GridView, Calendar y ValidationSummary. También funciona para CheckBoxList, RadioButtonList y DataList si el diseño es un control Table. En general, sólo los controles que se representan como una etiqueta <table> pueden generar un color de fondo en HTML 3.2, mientras que en HTML 4.0 pueden hacerlo casi todos. Para los controles que se representan como etiquetas <span>, incluidos el control Label, los controles de validación y los controles de lista en modo Flow, BackColor funciona en Internet Explorer 5 o versiones posteriores, pero no en Internet Explorer 4.0.

BorderColor

Esta propiedad funciona en los exploradores de nivel inferior sólo para los controles basados en tablas, como BackColor. Sin embargo, su resultado es el atributo bordercolor, que no forma parte del estándar HTML 3.2. Aunque algunos exploradores aceptan este atributo, incluidos Internet Explorer 3.0 y posteriores, no ocurre así con todos ellos.

BorderStyle

Esta propiedad no funciona en ningún explorador de nivel inferior. No existe un equivalente para él en HTML 3.2.

BorderWidth

Esta propiedad sólo funciona en los controles que se representan como un elemento <table> de HTML (Table, Panel, GridView y Calendar) o como un elemento <img> (Image, AdRotator). BorderWidth sólo funciona en los exploradores de nivel inferior si se ha especificado en píxeles; de lo contrario, se representa siempre como border=1 o border=0. Además, BorderWidth sólo funciona con los controles basados en tablas si GridLines está establecido en un valor distinto de None. Esto se debe a que en HTML 3.2 no existe ningún medio para especificar un borde sin líneas de cuadrícula. Para los controles que se representan como etiquetas <span>, incluidos el control Label, los controles de validación y los controles de lista en modo Flow, BorderWidth funciona en Internet Explorer 5 o versiones posteriores, pero no en Internet Explorer 4.0.

CssClass

Esta propiedad siempre se representa como atributo class, independientemente del explorador. La mayoría de los exploradores de nivel superior reconocen el atributo class.

Enabled

Esta propiedad permite especificar si un control produce sus eventos y funciones. En Internet Explorer 4.0 o versiones posteriores, el efecto de establecer Enabled en false hace que el control parezca estar bloqueado y no disponible para la entrada de datos, como si se utilizara el atributo disabled=true.

Font-Bold, Font-Italic, Font-Strikeout y propiedades similares

Estas propiedades se representan como atributos style para los exploradores de nivel superior (por ejemplo, Font-Weight para el atributo negrita y Font-Style para el atributo cursiva) y como elementos independientes (por ejemplo, <b> y <i>) para los exploradores de nivel inferior.

Font-Size

Esta propiedad funciona en los exploradores de nivel inferior para todos los controles solamente si se utilizan tamaños de fuente con nombre (Small, Smaller, etc.). En los exploradores de nivel superior, esta propiedad se representa como atributo style; en los exploradores de nivel inferior se representa como elemento <font>.

Font-Overline

Esta propiedad no funciona en ningún explorador de nivel inferior.

ForeColor

Esta propiedad funciona en los exploradores de nivel inferior para todos los controles excepto Image, AdRotator, HyperLink y LinkButton. En los exploradores de nivel inferior, ForeColor se representa con etiquetas <font>.

Height

Esta propiedad no funciona en los exploradores de nivel inferior para el control Label, los controles de validación o los controles HyperLink o LinkButton. Height tampoco funciona para los controles CheckBoxList, RadioButtonList y DataList si el diseño de dichos controles está establecido en Flow. Sólo funcionan las medidas en píxeles y en porcentajes.

Para los controles basados en tabla, el alto de las tablas internas no se representa para los exploradores de nivel inferior, porque el atributo Height se ha dejado de utilizar en HTML 4.01. En consecuencia, se aprecian ligeras diferencias entre la representación de nivel superior y de nivel inferior. La más obvia se da si se establece BackColor en la propiedad SideBarStyle: en los exploradores de nivel superior, BackColor aparece a lo largo de toda esa columna y, en los exploradores de nivel inferior, aparecerá con la longitud necesaria para albergar los botones de texto.

TabIndex

Esta propiedad no funciona en ningún control en los exploradores de nivel inferior. No es HTML 4.0 y sólo funciona en Internet Explorer 4.0 o versiones posteriores.

ToolTip

Esta propiedad no funciona en ningún explorador de nivel inferior.

Width

Esta propiedad no funciona en los exploradores de nivel inferior para los controles Label, HyperLink, LinkButton o los controles de validación. Width tampoco funciona para los controles CheckBoxList, RadioButtonList y DataList si el diseño está establecido en Flow. Sólo funcionan las medidas en píxeles y en porcentajes.

Vea también

Mostrar: