Partager via


Vue d'ensemble du contrôle ScriptManager

Mise à jour : novembre 2007

Le contrôle ScriptManager gère le script client pour les pages Web ASP.NET AJAX. Par défaut, le contrôle ScriptManager enregistre le script de Microsoft AJAX Library avec la page. Cela permet au script client d'utiliser les extensions de système et de prendre en charge des fonctionnalités telles que le rendu de page partielle et les appels de service Web.

Cette rubrique contient les sections suivantes :

  • Scénarios

  • Contexte

  • Exemples de code

  • Référence de classe

Scénarios

Vous devez utiliser un contrôle ScriptManager sur une page pour activer les fonctionnalités AJAX suivantes d'ASP.NET :

  • Fonctionnalités de script client de Microsoft AJAX Library, et tout script personnalisé que vous souhaitez envoyer au navigateur. Pour plus d'informations, consultez Création d'un script client personnalisé à l'aide de Microsoft AJAX Library.

  • Rendu de page partielle, qui active le rafraîchissement indépendant des régions d'une page sans publication (postback). Les contrôles UpdatePanel, UpdateProgress et d'ASP.NET Timer requièrent un contrôle ScriptManager pour prendre en charge le rendu de page partielle.

  • Classes proxy JavaScript pour les services Web, qui vous permettent d'utiliser le script client pour accéder aux services Web et les méthodes spécialement marquées dans les pages ASP.NET. Il le fait en exposant les services Web et méthodes de page comme objets fortement typés.

  • Classes JavaScript pour accéder à l'authentification ASP.NET, profil et services de l'application des rôles.

Contexte

Lorsqu'une page contient un ou plusieurs contrôles UpdatePanel, le contrôle ScriptManager gère le rendu de page partielle dans le navigateur. Le contrôle interagit avec le cycle de vie de la page pour mettre à jour les parties de la page qui sont à l'intérieur des contrôles UpdatePanel. Pour plus d'informations, consultez Vue d'ensemble du rendu de page partielle.

La propriété EnablePartialRendering du contrôle ScriptManager détermine si une page participe aux mises à jour de pages partielles. Par défaut, la propriété EnablePartialRendering a la valeur true. Par conséquent, le rendu de page partielle est activé par défaut lorsque vous ajoutez un contrôle ScriptManager à la page. Pour plus d'informations sur l'utilisation d'un contrôle UpdatePanel avec le contrôle ScriptManager, consultez Introduction au contrôle UpdatePanel et Création d'une page ASP.NET simple avec plusieurs contrôles UpdatePanel.

Gestion d'erreurs de rendu de page partielle

Pendant le rendu de page partielle, vous pouvez gérer des erreurs en effectuant les opérations suivantes :

  • Définissez la propriété AllowCustomErrorsRedirect. Elle détermine comment la section d'erreur personnalisée du fichier Web.config est utilisée lorsqu'une erreur se produit pendant une publication asynchrone.

  • Gérez l'événement AsyncPostBackError du contrôle ScriptManager qui est généré en présence d'une erreur de page pendant une publication asynchrone.

  • Définissez la propriété AsyncPostBackErrorMessage, qui est le message d'erreur envoyé au navigateur.

Utilisation des extensions système de type

Microsoft AJAX Library ajoute des extensions système de type à JavaScript pour fournir des espaces de noms, héritages, interfaces, énumérations, réflexions et fonctions d'assistance pour les chaînes et les tableaux. Ces extensions fournissent les fonctionnalités dans le script client similaire à .NET Framework. Elles vous permettent d'écrire des applications ASP.NET AJAX d'une façon structurée qui améliore la maintenance, simplifie l'ajout de fonctionnalités et facilite l'organisation en couches des fonctionnalités. L'ajout d'un contrôle ScriptManager à une page Web ASP.NET inclut automatiquement les extensions système de type afin que vous puissiez utiliser la bibliothèque dans le script client. Pour plus d'informations, consultez Création d'un script client personnalisé à l'aide de Microsoft AJAX Library.

Enregistrement du script personnalisé

Utilisez le contrôle ScriptManager pour gérer des ressources que vous avez créées pour des contrôles qui participent aux mises à jour de pages partielles. Les ressources incluent des scripts, styles, champs masqués et tableaux. La collection Scripts de contrôles ScriptManager contient un objet ScriptReference pour chaque script disponible pour le navigateur. Vous pouvez spécifier les scripts de façon déclarative ou par programme.

Le contrôle ScriptManager expose également des méthodes d'inscription que vous pouvez utiliser pour gérer par programme les script client et les champs masqués. Lorsque vous enregistrez des script ou des champs masqués qui prennent en charge des mises à jour de pages partielles, vous devez appeler des méthodes d'inscription du contrôle ScriptManager. (Pour enregistrer des scripts non exigés lors des mises à jour de pages partielles, vous utilisez des méthodes de la classe ClientScriptManager.)

Remarque :

Tout script de la page, enregistré à l'aide du contrôle ScriptManager et tout script de gestion des événements doit être l'intérieur de l'élément form de la page. Sinon le script ne sera pas enregistré ou exécuté.

Pour obtenir la liste des méthodes d'inscription du contrôle ClientScriptManager, consultez Création d'un script client personnalisé à l'aide de Microsoft AJAX Library et la vue d'ensemble de la classe ClientScriptManager.

Enregistrement des services Web

Pour enregistrer un service Web que vous souhaitez appeler à partir d'une page ASP.NET AJAX, vous enregistrez le service Web en l'ajoutant au contrôle Services, dans la collection ScriptManager. L'infrastructure ASP.NET AJAX génère un objet proxy client pour chaque objet ServiceReference dans la collection Services. Les classes proxy et leurs membres fortement typés simplifient l'utilisation de services Web à partir d'un script client.

Vous pouvez ajouter par programme des objets ServiceReference à la collection Services pour inscrire des services Web au moment de l'exécution. Pour plus d'informations, consultez Services Web dans ASP.NET AJAX.

Utilisation de services d'authentification, de profil et de rôle depuis un script client

Microsoft AJAX Library inclut des classes proxy pour appeler directement l'authentification par formulaire d'ASP.NET 2.0, le profil et les services de l'application des rôles de JavaScript. Si vous souhaitez utiliser un service d'authentification personnalisé, vous pouvez l'enregistrer en utilisant le contrôle ScriptManager. Pour plus d'informations, consultez Utilisation de l'authentification par formulaire avec ASP.NET AJAX, Utilisation d'informations de profil avec ASP.NET AJAX et Utilisation d'informations de rôle avec ASP.NET AJAX.

Classe ScriptManagerProxy

Une seule instance du contrôle ScriptManager peut être ajoutée à la page. La page peut inclure le contrôle directement ou indirectement à l'intérieur d'un composant imbriqué tel qu'un contrôle utilisateur, une page de contenu pour une page maître, ou une page maître imbriquée. Si une page contient déjà un contrôle ScriptManager, mais un composant imbriqué ou parent a besoin de fonctionnalités supplémentaires du contrôle ScriptManager, le composant peut inclure un contrôle ScriptManagerProxy. Par exemple, le contrôle ScriptManagerProxy vous permet d'ajouter des scripts et services spécifiques aux composants imbriqués.

Exemples de code

Exemple d'application AJAX

Procédure pas à pas : création d'un site Web AJAX

Procédure pas à pas : globalisation d'une date à l'aide d'un script client

Création d'un script client personnalisé à l'aide de Microsoft AJAX Library

Procédure pas à pas : création et utilisation d'un service Web compatible AJAX

Introduction au contrôle UpdatePanel

Introduction au contrôle UpdateProgress

Procédure pas à pas : introduction au contrôle Timer

Assignation dynamique de références de script

Création d'un contrôle d'extendeur pour associer un comportement client à un contrôle serveur Web

Ajout de fonctionnalités clientes à un contrôle serveur Web

Création de contrôles clients AJAX personnalisés

Création de composants clients non visuels personnalisés

Référence de classe

Classe

Description

ScriptManager

Contrôle serveur qui rend des ressources de script disponibles au navigateur. Il inclut Microsoft AJAX Library et les fonctionnalités qui activent le rendu de page partielle.

ScriptManagerProxy

Contrôle serveur qui permet aux composants imbriqués d'ajouter le script et les références de service si la page contient déjà un contrôle ScriptManager.

Voir aussi

Concepts

Vue d'ensemble du cycle de vie des pages ASP.NET

Vue d'ensemble du rendu de page partielle

Services Web dans ASP.NET AJAX