IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Ajax UpdatePanel avec UpdateProgress et Timer en ASP pas si asynchrone


Sujet :

ASP.NET

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 7
    Par défaut Ajax UpdatePanel avec UpdateProgress et Timer en ASP pas si asynchrone
    Bonjour,

    Voila j'essaie désespérément de réaliser une page ASP avec des panels qui vont se mettre à jour à partir du Tick de plusieurs Timer.
    Mes infos étant longues à aller chercher, je souhaite pouvoir afficher un message/image en attendant le retour de ces infos. Je mets en place pour cela un UpdateProgress pour chaque UpdatePanel.
    Pour tester j'ai créé 2 UpdatePanel avec chacun un Trigger controlé par un Timer. Lorsque celui-ci Tick il provoque l'affiche d'un DateTime.Now dans un Label. Un petit sleep me permet de voir passer mon UpdateProgress.

    Voici le code :
    Page ASP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
        <div>
        <asp:ScriptManager ID="ScriptManager1" runat="server"  />
        <asp:Timer ID="Timer_heure1" runat="server" Interval="5000" OnTick="Timer_heure1_Tick" Enabled="true"></asp:Timer>
        <asp:Timer ID="Timer_heure2" runat="server" Interval="10000" OnTick="Timer_heure2_Tick" Enabled="true"></asp:Timer>
     
        <asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server" RenderMode="Block" >
        <Triggers><asp:AsyncPostBackTrigger ControlID="Timer_heure1" EventName="Tick" /></Triggers>
        <ContentTemplate>
        <asp:label ID="Label1" runat="server" Text="Label1">
        </asp:label> <br />
        <asp:UpdateProgress ID="UpdateProgress1" runat="server">
        <ProgressTemplate>
          Progression en cours 1
        </ProgressTemplate>
        </asp:UpdateProgress>
        </ContentTemplate>
        </asp:UpdatePanel>
     
        <asp:UpdatePanel ID="UpdatePanel2" UpdateMode="Conditional" runat="server">
        <Triggers><asp:AsyncPostBackTrigger ControlID="Timer_heure2" EventName="Tick" /></Triggers>
        <ContentTemplate>
        <asp:label ID="Label2" runat="server" Text="Label2">
        </asp:label><br />
        <asp:UpdateProgress ID="UpdateProgress2" runat="server">
        <ProgressTemplate>
          Progression en cours 2
        </ProgressTemplate>
        </asp:UpdateProgress>
        </ContentTemplate>
        </asp:UpdatePanel>
     
        </div>
    </asp:Content>
    Le code behind :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    protected void Timer_heure1_Tick(object sender, EventArgs e)
            {
                System.Threading.Thread.Sleep(2000);
                Label1.Text = DateTime.Now.ToLongTimeString();
     
            }
     
            protected void Timer_heure2_Tick(object sender, EventArgs e)
            {
                System.Threading.Thread.Sleep(2000);            
                Label2.Text = DateTime.Now.ToLongTimeString();
     
            }
    Bon pour compliquer un peux j'ai mis tout ça dans un PlaceHolder avec une MasterPage mais ça ne semble pas poser problème

    En réalité ce qui m'embête c'est que lorsqu'un Timer Tick les 2 UpdateProgress se déclenchent.
    Et en sortant les Progress du Panel et en les rattachant a leur ID (AssociatedUpdatePanelID) c'est pire. Et puis quel UpdateMode choisir !?
    Je pense ne pas avoir compris une petite subtilité de ces contrôles

    Merci de votre aide

  2. #2
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    UpdateMode = Conditionnal

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 7
    Par défaut
    Pas de pb, ça j'ai fait mais pourquoi les 2 Updateprogress apparaissent en même temps !?
    Une idée ??

  4. #4
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Parce que t'as pas défini la propriété AssociatedUpdatePanelID

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 7
    Par défaut
    Et en sortant les Progress du Panel et en les rattachant a leur ID (AssociatedUpdatePanelID) c'est pire

Discussions similaires

  1. Réponses: 8
    Dernier message: 28/05/2009, 10h40
  2. Réponses: 0
    Dernier message: 06/02/2009, 20h20
  3. Réponses: 6
    Dernier message: 25/11/2008, 11h02
  4. [AJAX] Alternative pour Response.Write("Message") avec Ajax UpdatePanel
    Par zakaria_jd dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 29/01/2008, 10h42
  5. Réponses: 2
    Dernier message: 29/01/2008, 10h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo