Información general sobre el control ScriptManager

Actualización: noviembre 2007

El control ScriptManager administra el script de cliente de las páginas web ASP.NET habilitadas para AJAX. De forma predeterminada, el control ScriptManager registra el script de Microsoft AJAX Library con la página. Esto permite al script de cliente usar las extensiones del sistema de tipos y admitir características como la representación parcial de páginas y las llamadas a servicios web.

Este tema contiene las siguientes secciones:

  • Escenarios

  • Información general

  • Ejemplos de código

  • Referencia de clase

Escenarios

Debe usar un control ScriptManager en una página para habilitar las siguientes características AJAX de ASP.NET:

  • Funcionalidad del script de cliente de Microsoft AJAX Library y cualquier script personalizado que desee enviar al explorador. Para obtener más información, vea Crear script de cliente personalizado mediante el uso de Microsoft AJAX Library.

  • Representación parcial de páginas, que permite actualizar de forma independiente regiones de la página sin una devolución de datos. Los controles ASP.NET UpdatePanel, UpdateProgressy Timer requieren un control ScriptManager para admitir la representación parcial de página.

  • Clases de proxy de JavaScript para servicios web, que permiten usar script de cliente para tener acceso a servicios web y, en especial, a métodos marcados en páginas ASP.NET. Esto se consigue mediante la exposición de los servicios web y los métodos de página como objetos con establecimiento inflexible de tipos.

  • Clases JavaScript para tener acceso a los servicios de aplicación de autenticación, perfil y funciones de ASP.NET.

Información general

Si una página contiene uno o varios controles UpdatePanel, el control ScriptManager administra la representación parcial de la página en el explorador. El control interactúa con el ciclo de vida de la página para actualizar las partes de la página que están dentro de los controles UpdatePanel. Para obtener más información, vea Información general sobre la representación parcial de páginas.

La propiedad EnablePartialRendering del control ScriptManager determina si una página participa en actualizaciones parciales de la página. De forma predeterminada, la propiedad EnablePartialRendering es true. Por tanto, la representación parcial de página está habilitada de forma predeterminada al agregar un control ScriptManager a la página. Para obtener más información sobre cómo usar el control UpdatePanel con el control ScriptManager, vea Introducción al control UpdatePanel y Crear una página ASP.NET simple con varios controles UpdatePanel.

Administrar errores de representación parcial de páginas

Durante la representación parcial de páginas, puede administrar los errores de la manera siguiente:

  • Establezca la propiedad AllowCustomErrorsRedirect. De esta forma determina cómo se usa la sección de errores personalizada del archivo Web.config cuando se produce un error durante una devolución de datos asincrónica.

  • Administre el evento AsyncPostBackError del control ScriptManager, que se provoca cuando hay un error de página durante una devolución de datos asincrónica.

  • Establezca la propiedad AsyncPostBackErrorMessage, que es el mensaje de error que se envía al explorador.

Usar las extensiones del sistema de tipos

Microsoft AJAX Library agrega extensiones del sistema de tipos, que proporcionan espacios de nombres, herencia, interfaces, enumeraciones, reflexión y funciones auxiliares para las cadenas y matrices, a JavaScript. Estas extensiones proporcionan funcionalidad en el script de cliente similar a la de .NET Framework. Permiten escribir aplicaciones ASP.NET habilitadas para AJAX de una manera estructurada que mejora el mantenimiento, facilita la incorporación de características y facilita la funcionalidad de capas. Al agregar un control ScriptManager a una página web ASP.NET se incluyen automáticamente las extensiones del sistema de tipos, de forma que puede usar la biblioteca en el script de cliente. Para obtener más información, vea Crear script de cliente personalizado mediante el uso de Microsoft AJAX Library.

Registrar script personalizado

Use el control ScriptManager para administrar recursos que ha creado para los controles que participan en actualizaciones parciales de la página. Los recursos incluyen scripts, estilos, campos ocultos y matrices. La colección Scripts del control ScriptManager contiene un objeto ScriptReference por cada script disponible en el explorador. Puede especificar los scripts mediante declaración o mediante programación.

El control ScriptManager también expone métodos de registro que puede usar para administrar script de cliente y campos ocultos mediante programación. Si registra script o campos ocultos que admiten las actualizaciones parciales de página, debe llamar a los métodos de registro del control ScriptManager. (Para registrar scripts que no se necesitan en las actualizaciones parciales de página, se usan métodos de la clase ClientScriptManager.)

Nota:

Los scripts de la página que se registran con el control ScriptManager y todo el script de control de eventos deben estar dentro del elemento form de la página. De lo contrario el script no se registrará ni ejecutará.

Para obtener una lista de los métodos de registro de los controles ClientScriptManager, vea Crear script de cliente personalizado mediante el uso de Microsoft AJAX Library y la información general de la clase ClientScriptManager.

Registrar servicios web

Para registrar un servicio web que desea llamar desde una página ASP.NET habilitada para AJAX, agréguelo a la colección Services del control ScriptManager para registrarlo. El marco de trabajo de ASP.NET AJAX genera un objeto proxy de cliente para cada objeto ServiceReference de la colección Services. Las clases de proxy y sus miembros con establecimiento inflexible de tipos simplifican el uso de servicios web desde el script de cliente.

Puede agregar mediante programación los objetos ServiceReference a la colección Services para registrar servicios web en tiempo de ejecución. Para obtener más información, vea Servicios web de AJAX en ASP.NET.

Usar servicios de autenticación, perfil y función desde script de cliente

Microsoft AJAX Library incluye clases de proxy para llamar directamente a los servicios de aplicación de autenticación de formularios, perfil y funciones de ASP.NET 2.0 desde JavaScript. Si desea usar un servicio de autenticación personalizado, puede registrarlo con el control ScriptManager. Para obtener más información, vea Utilizar la autenticación de formularios con AJAX en ASP.NET, Usar información de perfiles con AJAX en ASP.NET e Usar información de funciones con AJAX en ASP.NET.

Clase ScriptManagerProxy

Sólo se puede agregar una instancia del control ScriptManager a la página. La página puede incluir directamente el control o bien indirectamente dentro de un componente anidado como un control de usuario, página de contenido de una página maestra o una página maestra anidada. Si una página ya contiene un control ScriptManager, pero un componente anidado o principal necesita características adicionales del control ScriptManager, el componente puede incluir un control ScriptManagerProxy. Por ejemplo, el control ScriptManagerProxy permite agregar scripts y servicios específicos de los componentes anidados.

Ejemplos de código

Aplicación habilitada para AJAX de ejemplo

Tutorial: Crear un sitio web habilitado para AJAX

Tutorial: Globalizar una fecha utilizando script de cliente

Crear script de cliente personalizado mediante el uso de Microsoft AJAX Library

Tutorial: Crear y usar servicios web habilitados para AJAX

Introducción al control UpdatePanel

Introducción al control UpdateProgress

Tutorial: Introducción al control Timer

Asignar referencias de script de forma dinámica

Crear un control extensor para asociar un comportamiento de cliente con un control de servidor web

Agregar funcionalidad de cliente a un control de servidor web

Crear controles de cliente de AJAX personalizados

Crear componentes de cliente no visuales personalizados

Referencia de clase

Clase

Descripción

ScriptManager

Un control de servidor que permite que los recursos de script estén disponibles en el explorador, y que incluye Microsoft AJAX Library y la funcionalidad que habilita la representación parcial de páginas.

ScriptManagerProxy

Un control de servidor que permite a los componentes anidados agregar referencias al script y al servicio si la página ya contiene un control ScriptManager.

Vea también

Conceptos

Información general sobre el ciclo de vida de una página ASP.NET

Información general sobre la representación parcial de páginas

Servicios web de AJAX en ASP.NET