Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte.
Traduction
Source
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

UpdateProgress, classe

Fournit une rétroaction visuelle dans le navigateur lorsque le contenu d'un ou plusieurs contrôles UpdatePanel est mis à jour.

System.Object
  System.Web.UI.Control
    System.Web.UI.UpdateProgress

Espace de noms :  System.Web.UI
Assembly :  System.Web.Extensions (dans System.Web.Extensions.dll)
public class UpdateProgress : Control, 
	IAttributeAccessor, IScriptControl
<asp:UpdateProgress />

Le type UpdateProgress expose les membres suivants.

  Nom Description
Méthode publique UpdateProgress Initialise une nouvelle instance de la classe UpdateProgress.
Début
  Nom Description
Propriété protégée Adapter Obtient l'adaptateur spécifique au navigateur pour le contrôle. (Hérité de Control.)
Propriété publique AppRelativeTemplateSourceDirectory Obtient ou définit le répertoire virtuel relatif à l'application de l'objet Page ou UserControl qui contient ce contrôle. (Hérité de Control.)
Propriété publique AssociatedUpdatePanelID Obtient ou définit l'ID du contrôle UpdatePanel pour lequel le contrôle UpdateProgress affiche l'état.
Propriété publique Attributes Obtient ou définit les attributs de feuille de style en cascade (CSS) du contrôle UpdateProgress.
Propriété publique BindingContainer Infrastructure. Obtient le contrôle qui contient la liaison de données de ce contrôle. (Hérité de Control.)
Propriété protégée ChildControlsCreated Obtient une valeur qui indique si des contrôles enfants du contrôle serveur ont été créés. (Hérité de Control.)
Propriété publique ClientID Obtient l'ID de contrôle pour le balisage HTML généré par ASP.NET. (Hérité de Control.)
Propriété publique ClientIDMode Obtient ou définit l'algorithme utilisé pour générer la valeur de la propriété ClientID. (Hérité de Control.)
Propriété protégée ClientIDSeparator Obtient une valeur de caractère représentant le caractère de séparation utilisé dans la propriété ClientID. (Hérité de Control.)
Propriété protégée Context Obtient l'objet HttpContext associé au contrôle serveur pour la demande Web en cours. (Hérité de Control.)
Propriété publique Controls Obtient un objet ControlCollection qui représente les contrôles enfant du contrôle UpdateProgress. (Substitue Control.Controls.)
Propriété publique DataItemContainer Obtient une référence au conteneur d'attribution de noms si celui-ci implémente IDataItemContainer. (Hérité de Control.)
Propriété publique DataKeysContainer Obtient une référence au conteneur d'attribution de noms si celui-ci implémente IDataKeysControl. (Hérité de Control.)
Propriété protégée DesignMode Obtient une valeur indiquant si un contrôle est utilisé sur une aire de conception. (Hérité de Control.)
Propriété publique DisplayAfter Obtient ou définit la valeur en millisecondes avant que le contrôle UpdateProgress ne soit affiché.
Propriété publique DynamicLayout Obtient ou définit une valeur qui détermine si le modèle de progression est restitué dynamiquement.
Propriété publique EnableTheming Obtient ou définit une valeur indiquant si les thèmes s'appliquent à ce contrôle. (Hérité de Control.)
Propriété publique EnableViewState Obtient ou définit une valeur indiquant si le contrôle serveur rend persistant son état d'affichage, ainsi que celui de tous les contrôles enfants qu'il contient, sur le client à l'origine de la demande. (Hérité de Control.)
Propriété protégée Events Obtient la liste des délégués de gestionnaires d'événements pour le contrôle. Cette propriété est en lecture seule. (Hérité de Control.)
Propriété protégée HasChildViewState Obtient une valeur indiquant si les contrôles enfants du contrôle serveur en cours possèdent des paramètres d'état d'affichage enregistrés. (Hérité de Control.)
Propriété publique ID Obtient ou définit l'ID programmatique assigné au contrôle serveur. (Hérité de Control.)
Propriété protégée IdSeparator Infrastructure. Obtient le caractère utilisé pour séparer des identificateurs de contrôle. (Hérité de Control.)
Propriété protégée IsChildControlStateCleared Obtient une valeur indiquant si les contrôles contenus dans ce contrôle utilisent l'état du contrôle. (Hérité de Control.)
Propriété protégée IsTrackingViewState Obtient une valeur qui indique si le contrôle serveur enregistre les modifications apportées à son état d'affichage. (Hérité de Control.)
Propriété protégée IsViewStateEnabled Obtient une valeur indiquant si l'état d'affichage est activé pour ce contrôle. (Hérité de Control.)
Propriété protégée LoadViewStateByID Obtient une valeur indiquant si le contrôle participe au chargement de son état d'affichage par ID et non par index. (Hérité de Control.)
Propriété publique NamingContainer Obtient une référence au conteneur d'attribution de noms du contrôle serveur, qui crée un espace de noms unique pour différencier les contrôles serveur dont la propriété Control.ID possède la même valeur. (Hérité de Control.)
Propriété publique Page Obtient une référence à l'instance de Page qui contient le contrôle serveur. (Hérité de Control.)
Propriété publique Parent Obtient une référence au contrôle parent du contrôle serveur dans la hiérarchie des contrôles de la page. (Hérité de Control.)
Propriété publique ProgressTemplate Obtient ou définit le modèle qui définit le contenu du contrôle UpdateProgress.
Propriété publique RenderingCompatibility Obtient une valeur qui spécifie la version ASP.NET avec laquelle le HTML restitué sera compatible. (Hérité de Control.)
Propriété publique Site Obtient des informations sur le conteneur qui héberge le contrôle en cours lorsqu'il est rendu sur une aire de conception. (Hérité de Control.)
Propriété publique SkinID Obtient ou définit l'apparence à appliquer au contrôle. (Hérité de Control.)
Propriété publique TemplateControl Obtient ou définit une référence au modèle qui contient ce contrôle. (Hérité de Control.)
Propriété publique TemplateSourceDirectory Obtient le répertoire virtuel du Page ou du UserControl qui contient le contrôle serveur en cours. (Hérité de Control.)
Propriété publique UniqueID Obtient l'identificateur unique qualifié sur le plan hiérarchique du contrôle serveur. (Hérité de Control.)
Propriété protégée ViewState Obtient un dictionnaire d'informations d'état qui vous permet d'enregistrer et de restaurer l'état d'affichage d'un contrôle serveur entre plusieurs demandes de la même page. (Hérité de Control.)
Propriété protégée ViewStateIgnoresCase Obtient une valeur qui indique si l'objet StateBag respecte la casse. (Hérité de Control.)
Propriété publique ViewStateMode Obtient ou définit le mode d'état d'affichage de ce contrôle. (Hérité de Control.)
Propriété publique Visible Obtient ou définit une valeur qui indique si un contrôle serveur est rendu sous la forme d'une interface utilisateur sur la page. (Hérité de Control.)
Début
  Nom Description
Méthode protégée AddedControl Appelée après l'ajout d'un contrôle enfant à la collection Controls de l'objet Control. (Hérité de Control.)
Méthode protégée AddParsedSubObject Avertit le contrôle serveur qu'un élément XML ou HTML a été analysé et l'ajoute à l'objet ControlCollection du contrôle serveur. (Hérité de Control.)
Méthode publique ApplyStyleSheetSkin Applique les propriétés de style définies dans la feuille de style de la page au contrôle. (Hérité de Control.)
Méthode protégée BuildProfileTree Infrastructure. Collecte des informations sur le contrôle serveur et les livre à la propriété Trace à afficher lorsque le traçage est activé pour la page. (Hérité de Control.)
Méthode protégée ClearCachedClientID Infrastructure. Affecte à la valeur ClientID mise en cache la valeur null. (Hérité de Control.)
Méthode protégée ClearChildControlState Supprime les informations sur l'état du contrôle des contrôles enfants du contrôle serveur. (Hérité de Control.)
Méthode protégée ClearChildState Supprime les informations sur l'état d'affichage et sur l'état du contrôle de tous les contrôles enfants du contrôle serveur. (Hérité de Control.)
Méthode protégée ClearChildViewState Supprime les informations d'état d'affichage de tous les contrôles enfants du contrôle serveur. (Hérité de Control.)
Méthode protégée ClearEffectiveClientIDMode Infrastructure. Affecte la valeur Inherit à la propriété ClientIDMode de l'instance de contrôle actuelle et de tous contrôles enfants. (Hérité de Control.)
Méthode protégée CreateChildControls Appelé pour créer tous les contrôles enfants que le contrôle UpdateProgress contient dans le cadre de la préparation de la publication ou du rendu. (Substitue Control.CreateChildControls().)
Méthode protégée CreateControlCollection Crée un nouvel objet ControlCollection pour contenir les contrôles enfants (littéraux et serveur) du contrôle serveur. (Hérité de Control.)
Méthode publique DataBind() Lie une source de données au contrôle UpdateProgress et à tous ses contrôles enfants. (Substitue Control.DataBind().)
Méthode protégée DataBind(Boolean) Lie une source de données au contrôle serveur appelé et tous ses contrôles enfants avec une option pour déclencher l'événement DataBinding. (Hérité de Control.)
Méthode protégée DataBindChildren Lie une source de données aux contrôles enfants du contrôle serveur. (Hérité de Control.)
Méthode publique Dispose Permet à un contrôle serveur d'effectuer le nettoyage final avant qu'il soit libéré de la mémoire. (Hérité de Control.)
Méthode protégée EnsureChildControls Détermine si le contrôle serveur contient des contrôles enfants. S'il ne contient pas de contrôles enfants, il en crée. (Hérité de Control.)
Méthode protégée EnsureID Crée un identificateur pour les contrôles auxquels aucun identificateur n'est assigné. (Hérité de Control.)
Méthode publique Equals(Object) Détermine si l'Object spécifié est égal à l'Object en cours. (Hérité de Object.)
Méthode protégée Finalize Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de netto***ge avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)
Méthode publique FindControl(String) Recherche un contrôle serveur possédant le paramètre id spécifié dans le conteneur d'attribution de noms actuel. (Hérité de Control.)
Méthode protégée FindControl(String, Int32) Infrastructure. Recherche le conteneur d'attribution de noms actuel d'un contrôle serveur avec l'id spécifié et un entier, spécifié dans le paramètre pathOffset, qui facilite la recherche. Vous ne devez pas substituer cette version de la méthode FindControl. (Hérité de Control.)
Méthode publique Focus Affecte le focus d'entrée à un contrôle. (Hérité de Control.)
Méthode protégée GetDesignModeState Infrastructure. Obtient les données au moment du design pour un contrôle. (Hérité de Control.)
Méthode publique GetHashCode Sert de fonction de hachage pour un type particulier. (Hérité de Object.)
Méthode publique GetRouteUrl(Object) Obtient l'URL qui correspond à un jeu de paramètres d'itinéraire. (Hérité de Control.)
Méthode publique GetRouteUrl(RouteValueDictionary) Obtient l'URL qui correspond à un jeu de paramètres d'itinéraire. (Hérité de Control.)
Méthode publique GetRouteUrl(String, Object) Obtient l'URL qui correspond à un jeu de paramètres d'itinéraire et à un nom d'itinéraire. (Hérité de Control.)
Méthode publique GetRouteUrl(String, RouteValueDictionary) Obtient l'URL qui correspond à un jeu de paramètres d'itinéraire et à un nom d'itinéraire. (Hérité de Control.)
Méthode protégée GetScriptDescriptors Retourne une liste de composants, comportements et contrôles clients qui sont requis pour la fonctionnalité client UpdateProgress du contrôle.
Méthode protégée GetScriptReferences Retourne une liste de dépendances de la bibliothèque du script client pour le contrôle UpdateProgress.
Méthode publique GetType Obtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode publique GetUniqueIDRelativeTo Retourne la partie préfixée de la propriété UniqueID du contrôle spécifié. (Hérité de Control.)
Méthode publique HasControls Détermine si le contrôle serveur contient des contrôles enfants. (Hérité de Control.)
Méthode protégée HasEvents Retourne une valeur indiquant si des événements sont inscrits pour le contrôle ou des contrôles enfants. (Hérité de Control.)
Méthode protégée IsLiteralContent Infrastructure. Détermine si le contrôle serveur ne détient qu'un contenu littéral. (Hérité de Control.)
Méthode protégée LoadControlState Restaure des informations sur l'état du contrôle à partir d'une demande de page antérieure enregistrée par la méthode SaveControlState. (Hérité de Control.)
Méthode protégée LoadViewState Restaure les informations d'état d'affichage à partir d'une demande de page antérieure enregistrée par la méthode SaveViewState. (Hérité de Control.)
Méthode protégée MapPathSecure Récupère le chemin d'accès physique auquel un chemin d'accès virtuel, absolu ou relatif, correspond. (Hérité de Control.)
Méthode protégée MemberwiseClone Crée une copie superficielle de l'objet Object actif. (Hérité de Object.)
Méthode protégée OnBubbleEvent Détermine si l'événement pour le contrôle serveur est passé dans la hiérarchie des contrôles serveur de l'interface utilisateur de la page. (Hérité de Control.)
Méthode protégée OnDataBinding Déclenche l'événement DataBinding. (Hérité de Control.)
Méthode protégée OnInit Déclenche l'événement Init. (Hérité de Control.)
Méthode protégée OnLoad Déclenche l'événement Load. (Hérité de Control.)
Méthode protégée OnPreRender Déclenche l'événement PreRender. (Substitue Control.OnPreRender(EventArgs).)
Méthode protégée OnUnload Déclenche l'événement Unload. (Hérité de Control.)
Méthode protégée OpenFile Obtient un Stream utilisé pour lire un fichier. (Hérité de Control.)
Méthode protégée RaiseBubbleEvent Assigne les sources éventuelles de l'événement et ses informations au parent du contrôle. (Hérité de Control.)
Méthode protégée RemovedControl Appelée après la suppression d'un contrôle enfant dans la collection Controls de l'objet Control. (Hérité de Control.)
Méthode protégée Render Écrit le contenu restitué du contrôle UpdateProgress dans le navigateur, à l'aide de l'objet HtmlTextWriter fourni. (Substitue Control.Render(HtmlTextWriter).)
Méthode protégée RenderChildren Renvoie le contenu des enfants d'un contrôle serveur dans un objet HtmlTextWriter fourni, qui écrit le contenu à rendre sur le client. (Hérité de Control.)
Méthode publique RenderControl(HtmlTextWriter) Renvoie le contenu du contrôle serveur dans un objet HtmlTextWriter fourni et stocke des informations de traçage au sujet du contrôle si le traçage est activé. (Hérité de Control.)
Méthode protégée RenderControl(HtmlTextWriter, ControlAdapter) Génère le contenu du contrôle serveur dans un objet HtmlTextWriter à l'aide d'un objet ControlAdapter fourni. (Hérité de Control.)
Méthode protégée ResolveAdapter Obtient l'adaptateur de contrôles responsable du rendu du contrôle spécifié. (Hérité de Control.)
Méthode publique ResolveClientUrl Obtient une URL qui peut être utilisée par le navigateur. (Hérité de Control.)
Méthode publique ResolveUrl Convertit une URL en une URL que le client soit en mesure d'utiliser. (Hérité de Control.)
Méthode protégée SaveControlState Enregistre les modifications éventuellement apportées à l'état du contrôle serveur depuis la publication de la page sur le serveur. (Hérité de Control.)
Méthode protégée SaveViewState Enregistre les modifications éventuellement apportées à l'état d'affichage du contrôle serveur depuis la publication de la page sur le serveur. (Hérité de Control.)
Méthode protégée SetDesignModeState Définit les données au moment du design pour un contrôle. (Hérité de Control.)
Méthode publique SetRenderMethodDelegate Infrastructure. Assigne un délégué de gestionnaires d'événements pour générer le rendu du contrôle serveur et de son contenu dans son contrôle parent. (Hérité de Control.)
Méthode publique ToString Retourne une chaîne qui représente l'objet actuel. (Hérité de Object.)
Méthode protégée TrackViewState Provoque le suivi des modifications de l'état d'affichage pour le contrôle serveur afin qu'elles puissent être stockées dans l'objet StateBag du contrôle serveur. Cet objet est accessible via la propriété Control.ViewState. (Hérité de Control.)
Début
  Nom Description
Événement public DataBinding Se produit lorsque le contrôle serveur se lie à une source de données. (Hérité de Control.)
Événement public Disposed Se produit lorsqu'un contrôle serveur est libéré de la mémoire, ce qui constitue la dernière étape du cycle de vie d'un contrôle serveur en cas de demande d'une page ASP.NET. (Hérité de Control.)
Événement public Init Se produit lorsque le contrôle serveur est initialisé, ce qui constitue la première étape de son cycle de vie. (Hérité de Control.)
Événement public Load Se produit lorsque le contrôle serveur est chargé dans l'objet Page. (Hérité de Control.)
Événement public PreRender Se produit après le chargement de l'objet Control mais avant le rendu. (Hérité de Control.)
Événement public Unload Se produit lorsque le contrôle serveur est déchargé de la mémoire. (Hérité de Control.)
Début
  Nom Description
Méthode d'extension publique FindDataSourceControl Retourne la source de données associée au contrôle de données pour le contrôle spécifié. (Défini par DynamicDataExtensions.)
Méthode d'extension publique FindFieldTemplate Retourne le modèle de champ pour la colonne spécifiée dans le conteneur d'attribution de noms du contrôle spécifié. (Défini par DynamicDataExtensions.)
Méthode d'extension publique FindMetaTable Retourne l'objet Metatable pour le contrôle de données conteneur. (Défini par DynamicDataExtensions.)
Début
  Nom Description
Implémentation d'interface explicite Méthode privée IAttributeAccessor.GetAttribute Retourne un attribut d'un contrôle Web à l'aide du nom spécifié.
Implémentation d'interface explicite Méthode privée IAttributeAccessor.SetAttribute Définit la valeur de l'attribut du contrôle utilisateur spécifié.
Implémentation d'interface explicite Propriété privée IControlBuilderAccessor.ControlBuilder Pour obtenir une description de ce membre, consultez IControlBuilderAccessor.ControlBuilder. (Hérité de Control.)
Implémentation d'interface explicite Méthode privée IControlDesignerAccessor.GetDesignModeState Pour obtenir une description de ce membre, consultez IControlDesignerAccessor.GetDesignModeState. (Hérité de Control.)
Implémentation d'interface explicite Méthode privée IControlDesignerAccessor.SetDesignModeState Pour obtenir une description de ce membre, consultez IControlDesignerAccessor.SetDesignModeState. (Hérité de Control.)
Implémentation d'interface explicite Méthode privée IControlDesignerAccessor.SetOwnerControl Infrastructure. Pour obtenir une description de ce membre, consultez IControlDesignerAccessor.SetOwnerControl. (Hérité de Control.)
Implémentation d'interface explicite Propriété privée IControlDesignerAccessor.UserData Pour obtenir une description de ce membre, consultez IControlDesignerAccessor.UserData. (Hérité de Control.)
Implémentation d'interface explicite Propriété privée IDataBindingsAccessor.DataBindings Pour obtenir une description de ce membre, consultez IDataBindingsAccessor.DataBindings. (Hérité de Control.)
Implémentation d'interface explicite Propriété privée IDataBindingsAccessor.HasDataBindings Pour obtenir une description de ce membre, consultez IDataBindingsAccessor.HasDataBindings. (Hérité de Control.)
Implémentation d'interface explicite Propriété privée IExpressionsAccessor.Expressions Pour obtenir une description de ce membre, consultez IExpressionsAccessor.Expressions. (Hérité de Control.)
Implémentation d'interface explicite Propriété privée IExpressionsAccessor.HasExpressions Pour obtenir une description de ce membre, consultez IExpressionsAccessor.HasExpressions. (Hérité de Control.)
Implémentation d'interface explicite Méthode privée IParserAccessor.AddParsedSubObject Pour obtenir une description de ce membre, consultez IParserAccessor.AddParsedSubObject. (Hérité de Control.)
Implémentation d'interface explicite Méthode privée IScriptControl.GetScriptDescriptors Pour obtenir la description de ce membre, consultez IScriptControl.GetScriptDescriptors.
Implémentation d'interface explicite Méthode privée IScriptControl.GetScriptReferences Pour obtenir la description de ce membre, consultez IScriptControl.GetScriptReferences.
Début

Dans cette rubrique :

Introduction

Le contrôle UpdateProgress vous permet de fournir des commentaires à propos de la progression de restitution de page partielle. Pour les publications (postback) ou restitutions de page initiale, le contenu du contrôle UpdateProgress n'est pas affiché.

La page peut contenir plusieurs contrôles UpdateProgress. Chacun peut être associé à un contrôle UpdatePanel différent. Vous pouvez également utiliser un contrôle UpdateProgress et l'associer à tous les contrôles UpdatePanel sur la page.

Le contrôle UpdateProgress restitue un élément div qui est affiché ou masqué selon l'origine de la publication (postback) et selon que la propriété AssociatedUpdatePanelID du contrôle UpdateProgress est définie.

Association d'un UpdateProgress à un contrôle UpdatePanel

Pour associer des contrôles UpdateProgress à un contrôle UpdatePanel, définissez la propriété AssociatedUpdatePanelID du contrôle UpdateProgress. Lorsqu'un événement de publication (postback) provient de l'intérieur d'un contrôle UpdatePanel, tout contrôle UpdateProgress associé est affiché. Si vous ne définissez pas la propriété AssociatedUpdatePanelID, le contrôle UpdateProgress affiche la progression de toute publication (postback) asynchrone dont l'origine est à l'intérieur d'un contrôle UpdatePanel. Il est également affiché pour tous les contrôles qui sont des déclencheurs pour les panneaux.

La propriété AssociatedUpdatePanelID a l'effet suivant sur le comportement du contrôle UpdateProgress :

  • Lorsque la propriété AssociatedUpdatePanelID n'est pas définie, le contrôle UpdateProgress est affiché pour les publications (postbacks) suivantes :

    • Publications (postbacks) dont l'origine est à l'intérieur d'un contrôle UpdatePanel.

    • Publications (postbacks) dont l'origine provient de contrôles qui sont des déclencheurs asynchrones pour un contrôle UpdatePanel.

  • Lorsque la propriété AssociatedUpdatePanelID a pour valeur un ID du contrôle UpdatePanel, le contrôle UpdateProgress est affiché pour les publications (postback) dont l'origine est à l'intérieur du contrôle UpdatePanel associé.

Si la propriété AssociatedUpdatePanelID a pour valeur un contrôle qui n'existe pas, le contrôle UpdateProgress n'est jamais montré.

Si la propriété ChildrenAsTriggers du contrôle UpdatePanel a la valeur false et si une publication (postback) a pour origine l'intérieur d'un contrôle UpdatePanel, un contrôle UpdateProgress associé est affiché.

Spécification du contenu du contrôle UpdateProgress

Utilisez la propriété ProgressTemplate pour spécifier le message affiché par un contrôle UpdateProgress. Si la propriété ProgressTemplate est vide, rien n'est affiché lorsque le contrôle UpdateProgress est affiché.

Le modèle peut contenir du langage HTML et balise. Par exemple, vous pouvez afficher une image animée qui notifie l'utilisateur que le processus de publication (postback) est en cours. Vous pouvez également afficher un bouton sur lequel l'utilisateur peut cliquer pour arrêter la mise à jour de page partielle. En outre, vous pourriez envisager d'empêcher toutes les autres publications (postbacks) lorsqu'il y en a une en cours. L'exemple suivant affiche le script client que vous pouvez utiliser pour accomplir ces tâches.


<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
    protected void Button_Click(object sender, EventArgs e)
    {
        System.Threading.Thread.Sleep(3000);
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>UpdateProgress Example</title>
    <style type="text/css">
    #UpdatePanel1, #UpdatePanel2, #UpdateProgress1 {
      border-right: gray 1px solid; border-top: gray 1px solid; 
      border-left: gray 1px solid; border-bottom: gray 1px solid;    
    }
    #UpdatePanel1, #UpdatePanel2 { 
      width:200px; height:200px; position: relative;
      float: left; margin-left: 10px; margin-top: 10px;
     }
     #UpdateProgress1 {
      width: 400px; background-color: #FFC080; 
      bottom: 0%; left: 0px; position: absolute;
     }
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <asp:ScriptManager ID="ScriptManager1" runat="server" />
    <script type="text/javascript">
    var prm = Sys.WebForms.PageRequestManager.getInstance();
    prm.add_initializeRequest(InitializeRequest);
    function InitializeRequest(sender, args) {
      if (prm.get_isInAsyncPostBack())
       {
          args.set_cancel(true);
       }
    }
    function AbortPostBack() {
      if (prm.get_isInAsyncPostBack()) {
           prm.abortPostBack();
      }        
    }
    </script>
    <asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
    <ContentTemplate>
    <%=DateTime.Now.ToString() %> <br />
    <asp:Button ID="Button1" runat="server" Text="Refresh Panel" OnClick="Button_Click" />    
    <br />
    Clicking the button while an asynchronous postback is in progress will
    cancel the new postback. New postbacks are only allowed if one is not
    already in progress.
    </ContentTemplate>
    </asp:UpdatePanel>
    <asp:UpdatePanel ID="UpdatePanel2" UpdateMode="Conditional" runat="server">
    <ContentTemplate>
    <%=DateTime.Now.ToString() %> <br />
    <asp:Button ID="Button2" runat="server" Text="Refresh Panel" OnClick="Button_Click"/>    
    </ContentTemplate>
    </asp:UpdatePanel>
    <asp:UpdateProgress ID="UpdateProgress1" runat="server">
    <ProgressTemplate>
      Update in progress...
      <input type="button" value="stop" onclick="AbortPostBack()" />
    </ProgressTemplate>
    </asp:UpdateProgress>
    </div>
    </form>
</body>
</html>


Vous pouvez utiliser l'exemple de code en affectant « AbortPostBack () » à l'attribut onClick d'un contrôle HtmlButton. Pour plus d'informations, consultez la méthode abortPostBack et la propriété isInAsyncPostBack de la classe PageRequestManager.

Placement de contrôles UpdateProgress sur la page

Les contrôles UpdateProgress peuvent être à l'intérieur ou à l'extérieur d'autres contrôles UpdatePanel. L'affichage du modèle de contrôle UpdateProgress ne dépend pas de l'emplacement du contrôle UpdateProgress. Dans un contrôle UpdatePanel imbriqué, un panneau enfant se trouve à l'intérieur d'un panneau parent. Dans ce cas, une publication (postback) qui a pour origine l'intérieur du panneau enfant entraîne l'affichage de tous les contrôles UpdateProgress associés au panneau enfant et au panneau parent. Si une publication (postback) provient d'un contrôle enfant immédiat du panneau parent, seuls les contrôles UpdateProgress associés au panneau parent sont affichés.

Personnalisation lorsque les contrôles UpdateProgress sont affichés

Par défaut, le contrôle UpdateProgress attend 0,5 secondes (500 millisecondes) avant d'afficher son contenu. Ceci permet d'éviter le clignotement du contrôle en cas de publication (postback) asynchrone très rapide. Vous pouvez spécifier le délai en définissant la propriété DisplayAfter.

Si vous avez besoin d'un contrôle plus fin lorsqu'un contrôle UpdateProgress est affiché, vous pouvez fournir le script client pour les événements beginRequest et endRequest de la classe PageRequestManager. Dans le gestionnaire d'événements beginRequest, vous pouvez afficher l'élément DOM qui représente le contrôle UpdateProgress. Vous pouvez le masquer dans le gestionnaire d'événements endRequest.

Vous devez fournir le script client pour afficher un contrôle UpdateProgress lorsqu'un contrôle UpdatePanel cible est mis à jour dans les circonstances suivantes :

  • Lorsqu'une publication (postback) à partir d'un contrôle est inscrite comme déclencheur de publication asynchrone pour le panneau et qu'il y a un contrôle UpdateProgress sur la page. Toutefois, la propriété AssociatedUpdatePanelID n'est pas définie sur l'ID du panneau.

  • Lorsque les publications (postbacks) de contrôles sont enregistrées comme contrôles de publications asynchrones à l'aide de la méthode RegisterAsyncPostBackControl du contrôle ScriptManager.

Application des styles CSS

Le contrôle UpdateProgress accepte des attributs expando. Il est donc possible de définir une classe CSS sur les éléments HTMLdont ils contrôlent le rendu. Par exemple, vous pouvez créer le balisage affiché dans l'exemple suivant :

<asp:UpdateProgress runat="server" class="myStyle">
</asp: UpdateProgress> 

Le balisage de l'exemple précédent restitue un code HTML semblable au suivant lorsque la page s'exécute :

<div id="ctl00_MainContent_UpdateProgress1" class="myStyle">
</div>

Syntaxe déclarative

<asp:UpdateProgress
    AssociatedUpdatePanelID="string"
    DisplayAfter="integer"
    DynamicLayout="True|False"
    EnableTheming="True|False"
    EnableViewState="True|False"
    ID="string"
    OnDataBinding="DataBinding event handler"
    OnDisposed="Disposed event handler"
    OnInit="Init event handler"
    OnLoad="Load event handler"
    OnPreRender="PreRender event handler"
    OnUnload="Unload event handler"
    runat="server"
    SkinID="string"
    Visible="True|False"
>
        <ProgressTemplate>
            <!-- child controls -->
        </ProgressTemplate>
</asp:UpdateProgress>

Les exemples suivants montrent différentes façons d'utiliser UpdateProgress pour afficher la progression pendant des publications (postbacks) asynchrones.

L'exemple suivant montre un contrôle UpdateProgress qui affiche l'état de progression pour deux contrôles UpdatePanel.


<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
    protected void Button_Click(object sender, EventArgs e)
    {
        System.Threading.Thread.Sleep(3000);
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>UpdateProgress Example</title>
    <style type="text/css">
    #UpdatePanel1, #UpdatePanel2, #UpdateProgress1 { 
      border-right: gray 1px solid; border-top: gray 1px solid; 
      border-left: gray 1px solid; border-bottom: gray 1px solid;
    }
    #UpdatePanel1, #UpdatePanel2 { 
      width:200px; height:200px; position: relative;
      float: left; margin-left: 10px; margin-top: 10px;
     }
     #UpdateProgress1 {
      width: 400px; background-color: #FFC080; 
      bottom: 0%; left: 0px; position: absolute;
     }
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <asp:ScriptManager ID="ScriptManager1" runat="server" />
    <asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
    <ContentTemplate>
    <%=DateTime.Now.ToString() %> <br />
    <asp:Button ID="Button1" runat="server" Text="Refresh Panel" OnClick="Button_Click" />    
    </ContentTemplate>
    </asp:UpdatePanel>
    <asp:UpdatePanel ID="UpdatePanel2" UpdateMode="Conditional" runat="server">
    <ContentTemplate>
    <%=DateTime.Now.ToString() %> <br />
    <asp:Button ID="Button2" runat="server" Text="Refresh Panel" OnClick="Button_Click"/>    
    </ContentTemplate>
    </asp:UpdatePanel>
    <asp:UpdateProgress ID="UpdateProgress1" runat="server">
    <ProgressTemplate>
      Update in progress...
    </ProgressTemplate>
    </asp:UpdateProgress>
    </div>
    </form>
</body>
</html>


Cet exemple montre deux contrôles UpdateProgress. Chaque contrôle affiche l'état de progression pour un contrôle UpdatePanel associé.


<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
    protected void Button_Click(object sender, EventArgs e)
    {
        System.Threading.Thread.Sleep(3000);
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>UpdateProgress Example</title>
    <style type="text/css">
    #UpdatePanel1, #UpdatePanel2 { 
      width:200px; height:200px; position: relative;
      float: left; margin-left: 10px; margin-top: 10px;
      border-right: gray 1px solid; border-top: gray 1px solid; 
      border-left: gray 1px solid; border-bottom: gray 1px solid;
     }
     #UpdateProgress1, #UpdateProgress2 {
      width: 200px; background-color: #FFC080;
      position: absolute; bottom: 0px; left: 0px;
     }
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <asp:ScriptManager ID="ScriptManager1" runat="server" />
    <asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
    <ContentTemplate>
    <%=DateTime.Now.ToString() %> <br />
    <asp:Button ID="Button1" runat="server" Text="Refresh Panel" OnClick="Button_Click" />    
    <asp:UpdateProgress ID="UpdateProgress1" AssociatedUpdatePanelID="UpdatePanel1" runat="server">
    <ProgressTemplate>
      UpdatePanel1 updating...
    </ProgressTemplate>
    </asp:UpdateProgress>
    </ContentTemplate>
    </asp:UpdatePanel>
    <asp:UpdatePanel ID="UpdatePanel2" UpdateMode="Conditional" runat="server">
    <ContentTemplate>
    <%=DateTime.Now.ToString() %> <br />
    <asp:Button ID="Button2" runat="server" Text="Refresh Panel" OnClick="Button_Click"/>    
    <asp:UpdateProgress ID="UpdateProgress2" AssociatedUpdatePanelID="UpdatePanel2" runat="server">
    <ProgressTemplate>
      UpdatePanel2 updating...
    </ProgressTemplate>
    </asp:UpdateProgress>
    </ContentTemplate>
    </asp:UpdatePanel>
    </div>
    </form>
</body>
</html>


.NET Framework

Pris en charge dans : 4, 3.5

Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.
Cela vous a-t-il été utile ?
(1500 caractères restants)
Contenu de la communauté Ajouter
Annotations FAQ
Microsoft réalise une enquête en ligne pour recueillir votre opinion sur le site Web de MSDN. Si vous choisissez d’y participer, cette enquête en ligne vous sera présentée lorsque vous quitterez le site Web de MSDN.

Si vous souhaitez y participer,