De manera predeterminada, ASP.NET determina las capacidades del explorador leyendo la información del agente de usuario que se pasa desde el explorador al servidor durante una solicitud. Compara la cadena del agente de usuario que se recibe del explorador con las cadenas del agente de usuario almacenadas en los archivos de definición del explorador. Estos archivos de definición del explorador contienen información sobre las capacidades de varios agentes de usuario. Cuando ASP.NET encuentra una coincidencia entre la cadena del agente de usuario actual y una cadena de agente de usuario en un archivo de definición del explorador, este carga las capacidades del explorador correspondientes en el objeto HttpBrowserCapabilities. A continuación, las propiedades del objeto HttpBrowserCapabilities se pueden usar para determinar si el tipo de explorador que representa el agente de usuario admite scripting, estilos, marcos, etc. En función de estas capacidades, los controles de la página presentan los controles web con el marcado correspondiente.
Nota |
|---|
Las capacidades del explorador indican si el tipo de explorador en general admite características como JavaScript, no si una instancia individual del explorador tiene habilitadas o deshabilitadas estas características. |
El objeto HttpBrowserCapabilities está disponible en la propiedad Browser del objeto HttpRequest. Puede tener acceso a información sobre algunas de las capacidades del explorador en las propiedades fuertemente tipadas del objeto HttpBrowserCapabilities. Otras capacidades se definen solamente en los archivos de definición del explorador y solo están disponibles como entradas en una colección de diccionarios.
Por ejemplo, para determinar si el tipo y la versión del explorador actual admiten una versión determinada de JavaScript, puede usar una propiedad que solo se defina en los archivos de definición del explorador (no en HttpBrowserCapabilitiesBase), como se muestra en el ejemplo siguiente:
string jsVersion = Request.Browser["JavaScriptVersion"];
Si el explorador que realiza la solicitud es Internet Explorer 8, la cadena jsVersion contendrá el valor "1.5".
Para determinar si la solicitud se originó desde un dispositivo móvil, puede usar la propiedad IsMobileDevice, como se muestra en el ejemplo siguiente:
bool isMobile = Request.Browser.IsMobileDevice;
ASP.NET almacena los archivos de definición del explorador predeterminados en la siguiente carpeta:
%SystemRoot%\Microsoft.NET\Framework\versionNumber\Config\Browsers
Nota |
|---|
Los archivos de definición del explorador se actualizaron para ASP.NET 4 y las nuevas versiones no son compatibles con los archivos de este tipo proporcionados en las versiones anteriores de ASP.NET. Para obtener más información, vea Cómo: Actualizar una aplicación web de ASP.NET a ASP.NET 4. |