Partager via


Timer, contrôle

Le contrôle Timer ASP.NET AJAX exécute des publications à intervalles définis. Si vous utilisez le contrôle Timer avec un contrôle UpdatePanel , vous pouvez activer les mises à jour de page partielle à un intervalle défini. Vous pouvez également utiliser le contrôle Timer pour publier la page entière.

Le contrôle Timer requiert des paramètres spécifiques dans un fichier web.config pour fonctionner correctement. Si vous essayez d’utiliser ce contrôle, et si votre site ne contient pas le fichier web.config requis, des erreurs apparaissent dans le mode Création de la page où le contrôle est censé s’afficher. En mode Création, si vous cliquez sur un contrôle qui se trouve dans cet état, Microsoft Expression Web vous donne la possibilité de créer un fichier web.config ou de mettre à jour votre fichier web.config existant.

Scénarios

Utilisez le contrôle Timer lorsque vous souhaitez effectuer les opérations suivantes :

  • mettre régulièrement à jour le contenu d’un ou de plusieurs contrôles UpdatePanel sans actualiser la page Web entière ;

  • exécuter du code sur le serveur chaque fois qu’un contrôle Timer entraîne une publication ;

  • publier la page Web entière sur le serveur Web de manière synchrone à intervalles définis.

Background (arrière-plan)

Le contrôle Timer est un contrôle serveur qui incorpore un composant JavaScript dans la page Web. Le composant JavaScript débute la publication à partir du navigateur lorsque l’intervalle défini dans la propriété Interval est écoulé. Vous définissez les propriétés du contrôle Timer dans le code qui s’exécute sur le serveur ; ces propriétés sont ensuite transmises au composant JavaScript.

Une instance de la classe ScriptManager doit être incluse dans la page Web lors de l’utilisation du contrôle Timer .

Lorsqu’une publication a été lancée par le contrôle Timer , ce dernier déclenche l’événement Tick sur le serveur. Vous pouvez créer un gestionnaire d’événements pour l’événement Tick afin d’effectuer des actions lorsque la page est publiée sur le serveur.

Définissez la propriété Interval pour spécifier la fréquence de déclenchement des publications, puis définissez la propriété Enabled pour activer ou désactiver le contrôle Timer . La propriété Interval , définie en millisecondes, a une valeur par défaut de 60 000 millisecondes, soit 60 secondes.

NoteRemarque :

L’affectation d’une petite valeur à la propriété Interval d’un contrôle Timer peut générer un trafic important sur le serveur Web. Utilisez le contrôle Timer pour actualiser uniquement le contenu aussi souvent que nécessaire.

Vous pouvez inclure plusieurs contrôles Timer sur une page Web si des contrôles UpdatePanel distincts doivent être mis à jour à des intervalles différents. Ou bien, une instance unique du contrôle Timer peut être le déclencheur de plusieurs contrôles UpdatePanel dans une page Web.

Utilisation d’un contrôle Timer dans un contrôle UpdatePanel

Lorsque le contrôle Timer est intégré à un contrôle UpdatePanel , le contrôle Timer fonctionne automatiquement comme déclencheur pour le contrôle UpdatePanel . Vous pouvez substituer ce comportement en affectant la valeur False à la propriété ChildrenAsTriggers du contrôle UpdatePanel .

S’agissant des contrôles Timer intégrés à un contrôle UpdatePanel , le composant de synchronisation JavaScript est recréé uniquement à la fin de chaque publication. Par conséquent, l’intervalle de temps ne démarre pas tant que la page n’a pas été retournée de la publication. Ainsi, si la propriété Interval a pour valeur 60 000 millisecondes (60 secondes) mais que la publication met trois secondes pour se terminer, la publication suivante aura lieu 63 secondes après la publication précédente.

Utilisation d’un contrôle Timer à l’extérieur d’un contrôle UpdatePanel

Lorsque le contrôle Timer se trouve en dehors d’un contrôle UpdatePanel , vous devez le définir explicitement comme étant un déclencheur pour que le contrôle UpdatePanel puisse être mis à jour.

Si le contrôle Timer se trouve en dehors d’un contrôle UpdatePanel , le composant de synchronisation JavaScript continue à s’exécuter pendant que la publication est en cours de traitement. Ainsi, si la propriété Interval a pour valeur 60 000 millisecondes (60 secondes) et que la publication met 3 secondes pour se terminer, la publication suivante aura lieu 60 secondes après la publication précédente. L’utilisateur verra le contenu actualisé dans le contrôle UpdatePanel pendant seulement 57 secondes.

Vous devez affecter à la propriété Interval une valeur qui permet à une seule publication asynchrone de se terminer avant que la publication suivante ne soit lancée. Si une nouvelle publication est lancée pendant qu’une version antérieure est en cours de traitement, la première publication est annulée.

Pour plus d’informations sur le contrôle Timer , voir les détails relatifs à la vue d’ensemble du contrôle Timer Cc295201.xtlink_newWindow(fr-fr,Expression.40).png dans MSDN Library.

Pour obtenir une description de toutes les propriétés du contrôle Timer , voir les détails relatifs aux propriétés du contrôle Timer Cc295201.xtlink_newWindow(fr-fr,Expression.40).png dans MSDN Library.

Voir aussi

Tâches

Didacticiel : actualiser un contrôle UpdatePanel selon un intervalle de minuterie

Concepts

contrôles ASP.NET AJAX
Vue d’ensemble du rendu de page partielle
ScriptManager, contrôle