Compartir a través de


Información general sobre AJAX en ASP.NET

Actualización: noviembre 2007

Las características de AJAX en ASP.NET permiten crear rápidamente páginas web para que la experiencia del usuario sea más satisfactoria gracias a elementos de la interfaz de usuario más familiares y receptivos. Entre las características de AJAX se incluyen bibliotecas de scripts de cliente, que incorporan las tecnologías ECMAScript (JavaScript) y HTML dinámico (DHTML) para varios exploradores, e integración con la plataforma de desarrollo para servidores de ASP.NET. Gracias a las características de AJAX puede mejorar la experiencia del usuario y la eficacia de sus aplicaciones web.

¿Por qué utilizar las características de AJAX en ASP.NET?

Las características de AJAX en ASP.NET permiten generar aplicaciones web enriquecidas que tienen muchas ventajas frente a las aplicaciones web basadas completamente en servidor. Las aplicaciones habilitadas para AJAX ofrecen:

  • Mayor eficacia, porque las partes importantes del proceso de una página web se realizan en el explorador.

  • Elementos de interfaz de usuario familiares, como indicadores de progreso, información sobre herramientas y ventanas emergentes.

  • Actualizaciones parciales de la página, que actualizan sólo las partes de la página web que han cambiado.

  • Integración de clientes con los servicios de aplicación de ASP.NET para la autenticación de formularios, funciones y perfiles de usuario.

  • Clases de proxy generadas automáticamente que simplifican las llamadas a los métodos del servicio web desde el script de cliente.

  • Un marco que permite personalizar los controles de servidor para incluir funciones de cliente.

  • Compatibilidad para los exploradores más populares y utilizados habitualmente, incluidos Microsoft Internet Explorer, Mozilla Firefox y Apple Safari.

Arquitectura de las características de AJAX en ASP.NET

La arquitectura de las características de AJAX en ASP.NET está compuesta de dos partes: bibliotecas de scripts de cliente y componentes de servidor. Estas partes se integran para proporcionar un marco de desarrollo sólido.

Nota:

Además de las características de AJAX en ASP.NET, puede utilizar el ASP.NET AJAX Control Toolkit y las características de los lanzamientos Futures de Microsoft ASP.NET, ambos admitidos por la comunidad.

La ilustración siguiente muestra la funcionalidad incluida en las bibliotecas de scripts de cliente y en los componentes de servidor.

Arquitectura de cliente y servidor de AJAX en ASP.NET

La ilustración muestra la funcionalidad de la Microsoft AJAX Library basada en cliente, incluidas la posibilidad de crear componentes de cliente, compatibilidad de exploradores, conexión de red y servicios principales. La ilustración también muestra la funcionalidad de las características de AJAX basadas en servidor, incluidos la compatibilidad para scripts, servicios web, servicios de aplicación y controles de servidor. En las secciones siguientes se describe la ilustración más detalladamente.

Arquitectura de cliente de AJAX

La arquitectura de cliente incluye bibliotecas para la compatibilidad de componentes, compatibilidad de exploradores, conexión de red y servicios principales.

Componentes

Los componentes de cliente habilitan comportamientos enriquecidos en el explorador sin devoluciones de datos. Los componentes pertenecen a tres categorías:

  • Componentes, que son objetos no visuales que encapsulan el código, como un objeto de temporizador.

  • Comportamientos, que extienden el comportamiento básico de los elementos DOM existentes.

  • Controles, que representan un nuevo elemento DOM que tiene un comportamiento personalizado.

El tipo de componente que utilice dependerá del tipo de comportamiento de cliente que desea. Por ejemplo, una marca de agua para un cuadro de texto existente se puede crear utilizando un comportamiento asociado al cuadro de texto. Para obtener más información, vea Crear controles y componentes de cliente.

Compatibilidad del explorador

La capa de compatibilidad para exploradores proporciona compatibilidad para scripting de AJAX para los exploradores utilizados con más frecuencia (incluidos Microsoft Internet Explorer, Mozilla Firefox y Apple Safari). Esto permite escribir el mismo script independientemente del explorador compatible al que esté destinado. Para obtener más información, vea Configuración de seguridad de exploradores en páginas ASP.NET habilitadas para AJAX.

Conexión de red

La capa de conexión de red administra la comunicación entre el script del explorador y los servicios y aplicaciones web. También administra las llamadas asincrónicas a métodos remotos. En muchos escenarios habituales, como las actualizaciones parciales de la página que utilizan el control UpdatePanel, la capa de conexión de red se utiliza automáticamente y no es necesario escribir ningún código.

La capa de conexión de red también proporciona compatibilidad para el acceso a autenticación de formularios basada en servidor, información de funciones e información del perfil en los scripts de cliente. Esta compatibilidad también está disponible para las aplicaciones web que no se crean utilizando ASP.NET, siempre que la aplicación tenga el acceso a la Microsoft AJAX Library. Para obtener más información, vea Servicios web de AJAX en ASP.NET.

Servicios básicos

Las bibliotecas de scripts de cliente de AJAX en ASP.NET están compuestas por archivos JavaScript (.js) que proporcionan características para la programación orientada a objetos. Las características orientadas a objetos incluidas en las bibliotecas de scripts de cliente de AJAX en ASP.NET habilitan un nivel alto de coherencia y modularidad en el scripting de cliente. Los servicios básicos siguientes forman parte de la arquitectura de cliente:

  • Extensiones orientadas a objetos para JavaScript, como clases, espacios de nombres, control de eventos, herencia, tipos de datos y serialización de objetos.

  • Una biblioteca de clases base, que incluye componentes como generadores de cadenas y control extendido de errores.

  • Compatibilidad para las bibliotecas de JavaScript incrustadas en un ensamblado o proporcionadas como archivos JavaScript (.js) independientes. Incrustar las bibliotecas de JavaScript en un ensamblado puede facilitar la implementación de aplicaciones y puede ayudar a resolver los problemas de control de versiones.

  • Para obtener más información, vea Crear script de cliente personalizado mediante el uso de Microsoft AJAX Library.

Depuración y control de errores

Los servicios básicos incluyen la clase Sys.Debug, que proporciona métodos para mostrar objetos en formato legible al final de una página web. La clase también muestra los mensajes de seguimiento de la traza, permite utilizar aserciones y permite irrumpir en el depurador. La API del objeto Error extendida proporciona información útil sobre las excepciones y admite los modos de lanzamiento y depuración. Para obtener más información, vea Información general sobre la depuración y la traza de aplicaciones habilitadas para AJAX.

Globalización

La arquitectura de servidor y cliente de AJAX en ASP.NET dispone de un modelo para localizar y globalizar los scripts de cliente. Esto permite diseñar aplicaciones que utilizan una base de código única para proporcionar la interfaz de usuario para muchas configuraciones regionales (idiomas y referencias culturales). Por ejemplo, la arquitectura de AJAX permite al código JavaScript dar formato automáticamente a los objetos Date o Number según la configuración de la referencia cultural del explorador del usuario, sin necesidad de una devolución de datos al servidor. Para obtener más información, vea Tutorial: Globalizar una fecha utilizando script de cliente

Arquitectura de servidor de AJAX

Las partes del servidor que admiten la programación en AJAX están compuestas por controles de servidor web de ASP.NET y componentes que administran la interfaz de usuario y el flujo de una aplicación. Las partes del servidor también administran la serialización, validación, extensibilidad de los controles, etc. Existen también servicios web ASP.NET que habilitan el acceso a servicios de aplicación ASP.NET para la autenticación de formularios, funciones y perfiles de usuario.

Compatibilidad para scripts

Las características de AJAX en ASP.NET se implementan mediante la compatibilidad para los scripts que se envían desde el servidor al cliente. En función de las características de AJAX que habilite, se enviarán diferentes scripts al explorador.

También puede crear scripts de cliente personalizados para sus aplicaciones ASP.NET. En ese caso, puede utilizar también las características de AJAX para administrar sus scripts personalizados como archivos .js estáticos (en disco) o como archivos .js incrustados como recursos en un ensamblado.

Las características de AJAX en ASP.NET incluyen un modelo para los modos de lanzamiento y depuración. El modo de lanzamiento permite la comprobación de errores y el control de excepciones optimizados para el rendimiento, con un tamaño de script mínimo. El modo de depuración dispone de características de depuración más sólidas, como la comprobación de tipos y argumentos. ASP.NET ejecuta las versiones de depuración cuando la aplicación está en modo de depuración. Esto permite producir excepciones en los scripts de depuración, minimizando el tamaño del código del lanzamiento.

La compatibilidad con scripts de AJAX en ASP.NET se utiliza para proporcionar dos características importantes:

Localización

La arquitectura de AJAX en ASP.NET se genera sobre la base del modelo de localización de ASP.NET 2.0. Proporciona compatibilidad adicional para los archivos .js localizados que se incrustan en un ensamblado o se proporciona en disco. ASP.NET puede servir automáticamente scripts de cliente y recursos localizados para idiomas y regiones específicos.

Para obtener más información, vea los temas siguientes:

Servicios Web

Con la funcionalidad de AJAX en una página web ASP.NET, puede utilizar el script de cliente para llamar a servicios web ASP.NET (.asmx) y a servicios de Windows Communication Foundation (WCF) (.svc). Las referencias del script necesarias se agregan automáticamente a la página y, a su vez, generan automáticamente las clases de proxy de servicio web que utilice en el script de cliente para llamar al servicio web.

También puede tener acceso a los servicios web ASP.NET sin utilizar los controles de servidor de AJAX en ASP.NET (por ejemplo, si está utilizando un entorno de desarrollo de web diferente). Para ello, puede incluir manualmente en la página referencias a la Microsoft AJAX Library, a los archivos de script y al propio servicio web. En tiempo de ejecución, ASP.NET genera las clases de proxy que pueden utilizarse para llamar a los servicios. Para obtener más información, vea Servicios web de AJAX en ASP.NET.

Servicios de aplicación

Los servicios de aplicación de ASP.NET son servicios web integrados basados en la autenticación de formularios, funciones y perfiles de usuario de ASP.NET. Estos servicios se pueden llamar mediante un script en una página web habilitada para AJAX, una aplicación cliente de Windows o un cliente compatible con WCF. Para obtener información y ejemplos, vea Usar servicios web ASP.NET.

Controles de servidor

Los controles de servidor de AJAX en ASP.NET están compuestos por código de servidor y de cliente que se integra para generar un comportamiento de cliente enriquecido. Cuando se agrega un control AJAX a una página web ASP.NET, la página envía automáticamente el script de cliente de soporte al explorador para la funcionalidad de AJAX. Puede proporcionar código de cliente adicional para personalizar la funcionalidad de un control, pero no es necesario.

La lista siguiente describe los controles de servidor de AJAX en ASP.NET utilizados con más frecuencia.

  • ScriptManager
    Administra los recursos del script para los componentes de cliente, representación parcial de la página, localización, globalización y scripts de usuario personalizados. El control ScriptManager es necesario para poder utilizar los controles UpdatePanel, UpdateProgress y Timer.

  • UpdatePanel
    Permite actualizar las partes seleccionadas de la página, en lugar de actualizar la página entera utilizando una devolución de datos sincrónica.

  • UpdateProgress
    Proporciona información del estado de las actualizaciones parciales de la página en controles UpdatePanel.

  • Timer
    Realiza devoluciones de datos en intervalos definidos. Puede utilizar el control Timer para exponer la página entera, o utilizarlo con el control UpdatePanel para realizar actualizaciones parciales de la página a intervalos definidos.

También puede crear controles de servidor ASP.NET personalizados que incluyan los comportamientos de cliente de AJAX. Los controles personalizados que mejoran las funciones de otros controles web ASP.NET se conocen como controlesextensores. Para obtener más información, vea Agregar la funcionalidad de AJAX a los controles ASP.NET y Información general sobre los controles extensores de AJAX en ASP.NET.

AJAX Control Toolkit

ASP.NET AJAX Control Toolkit es una colección de ejemplos y componentes que muestran algunas de las experiencias que puede crear con los controles y extensores de AJAX en ASP.NET. Control Toolkit ofrece ejemplos y un eficaz SDK que facilita la creación y reutilización de controles y extensores personalizados. Puede descargar ASP.NET AJAX Control Toolkit del sitio web ASP.NET Ajax. ASP.NET AJAX Control Toolkit es admitido por la comunidad.

Lanzamientos Futures de AJAX admitidos por la comunidad

Las versiones Futures de AJAX de ASP.NET admitidas por la comunidad proporcionan características que amplían las capacidades AJAX de ASP.NET con funcionalidad que se encuentra en desarrollo y que no está incluida en ASP.NET. Esto incluye controles extensores adicionales, compatibilidad con sintaxis declarativa de cliente (xml-script) y más. Para descargar y obtener más información sobre el lanzamiento de Futures, vaya al sitio web ASP.NET AJAX.

Vea también

Conceptos

Configuración de seguridad de exploradores en páginas ASP.NET habilitadas para AJAX

Agregar la funcionalidad de AJAX a los controles ASP.NET