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 :

updatepanel et rafraichissement visible


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 159
    Par défaut updatepanel et rafraichissement visible
    Bonjour à tous.

    J'utilise des updatepanel (comme appris grace à ce forum ) pour ne rafraichir qu'une parti d'un form par contre la j'ai un gros probleme.

    J'utilise un updatepanel mais la rafraichissement de la zone updatepanel avec un flash de rafrichissement tres desagreable. Mais balise son bien fermer et j'ai bien mis dans l'assemblies de mes web config system.web.extensions.

    Est-ce qu'il y a autre chose à ajouter ou me suis-je tromper dans ma demarche.

    D'avance merci

  2. #2
    Membre émérite Avatar de Ramajb
    Homme Profil pro
    ----------------------------
    Inscrit en
    Septembre 2007
    Messages
    476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ----------------------------

    Informations forums :
    Inscription : Septembre 2007
    Messages : 476
    Par défaut
    Salut,

    ce serait bien si tu nous montre ton code balisé

    a+

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 159
    Par défaut
    Desolé j'ai pas pensé à le mettre le voici

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <asp:UpdatePanel runat="server">
    	<ContentTemplate>
    		<asp:TextBox ID="AF_cp" runat="server" AutoPostBack="true" OnTextChanged="SearchVille" TabIndex="1" />
    	</ContentTemplate>
    </asp:UpdatePanel>
    et dans le web.config
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <system.web>
     
    <compilation debug="true">
    	<assemblies>
    		<add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    		<add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
    	</assemblies>
    </compilation>
    ....

  4. #4
    Membre éprouvé
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Par défaut
    Mets un ID sur ton updatePanel et essaye la methode update().

  5. #5
    Membre émérite Avatar de Ramajb
    Homme Profil pro
    ----------------------------
    Inscrit en
    Septembre 2007
    Messages
    476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ----------------------------

    Informations forums :
    Inscription : Septembre 2007
    Messages : 476
    Par défaut
    J'utilise un updatepanel mais la rafraichissement de la zone updatepanel avec un flash de rafrichissement tres desagreable
    C'est pas clair, j'ai du mal à le comprendre Pourrais tu nous donner un peu plus d'explication, ce que tu veux faire réellement, le probleme?. Déjà, tu utilise un UpdatePanel sans definir le <Triggers>, c'est mal

    a+

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 159
    Par défaut
    @Ramajb : le fait d'utiliser un updatepanel implique automatiquement l'utilisation d'un trigger? je ne savais pas merci pour l'info. j'en mettrai automatiquement du coup

    Pour expliquer le probleme un peu plus clairement (enfin je vais essayer).
    Lorsque je change la valeur de mon textbox il y a un rafraichissement comme si j'appuyais sur F5 en gros. Ce qui fait que mon formulaire disparait et réapparait en l'espace d'une seconde. Ce qui produit ce que j'appelle un flash

    @topolino j'ai deja essayer avec un id et la methode update mais cela ne marche pasvoici le code que j'ai utilise pour cela
    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
    <div>
    	<asp:UpdatePanel runat="server" ID="upd_cp">
    		<ContentTemplate>
    			<asp:TextBox ID="tbx_cp" runat="server" AutoPostBack="true" OnTextChanged="AssociatedVille" />
    		</ContentTemplate>
    	</asp:UpdatePanel>
    	<asp:UpdateProgress ID="UpdateProgress101" runat="server" AssociatedUpdatePanelID="upd_cp">
    		<ProgressTemplate>
    			<img src="progressbar.gif" alt="" />
    		</ProgressTemplate>
    	</asp:UpdateProgress>
    </div>
    <div>
    	<asp:UpdatePanel runat="server" ID="upd_ville">
    		<ContentTemplate>
    			<asp:DropDownList ID="ddl_ville" runat="server" />
    		</ContentTemplate>
    	</asp:UpdatePanel>
    </div>

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 159
    Par défaut
    @ramajb j'ai tester de mettre un trigger

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <Triggers>
    	<asp:PostBackTrigger ControlID="upd_cp" />
    </Triggers>
    mais il me sort ca
    RegisterAsyncPostBackControl or RegisterPostBackControl must implement either INamingContainer, IPostBackDataHandler, or IPostBackEventHandler.
    que je ne comprends pas bien.
    De meme peux tu m'expliquer rapidement la difference entre PostBackTrigger et l'AsyncPostBackTrigger. Sinon j'irais voir sur le net mais c'est pour que ce soit vraiment adapté à mon niveau sur le sujet (ie noob)

    Merci

  8. #8
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    shonem : un PostBackTrigger va effectuer un rechargement complet de la page et donc un "flash".
    Dans ton cas, il te faut un "AsyncPostBackTrigger.
    Qui plus est, le trigger n'est pas l'updatePanel lui-même, mais le contrôle qui doit le recharger (ton TextBox ou ta DropDownList).

    Cela dit, il n'est dans ton cas pas utile de préciser de trigger car l'UpdatePanel expose une propriété ChildrenAsTriggers (par défaut à true) qui signifie : tous les enfants de l'updatePanel sont des triggers.

    Enfin, la méthode Update() de l'updatePanel ne peut être appelée que lorsque la propriété UpdateMode (par défaut à Always) a la valeur "conditional". Or, tu n'as pas précisé la valeur de cette propriété, elle est donc initialisée à Always, ce qui signifie que tout postBack (partiel ou complet) mettra à jour l'updatePanel.

    Sinon, il te faut TOUJOURS mettre un ID à un contrôle serveur.

    Enfin, pourquoi avoir crée deux updatePanels dans ta page ?
    Un seul suffit pour y mettre tous tes contrôles.
    Et, pour afficher l'UpdateProgress, ajoute lui la propriété AssociatedUpdatePanelID à laquelle tu donnes le nom de l'UpdatePanel dans lequel se trouve l'UpdateProgress.

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 159
    Par défaut
    Merci pour tes explications Calagan99
    Ca confirme ce que je pensais.

    Pour la methode update j'avais essayé en mettant l'attribut updatemode="conditional" mais ca ne marche pas non plus. J'ai toujours un rafraichissement. Je me demande si c'est pas mon javascript ou jquery qui fait un blocage la dessus j'ai réussi à le rendre plus discret grâce à l'aide de la communauté mais j'ai pas encore réussi à arriver exactement à ce que je veux c'est à dire 0 flash mais bon je vais continuer à chercher.

    Par contre petite verification dans l'exemple de mon code que j'ai donné ma textbox et ma ddl dans les update panel se rafraichisse forcement avec un petit flash il n'y a pas de solution pour eviter ca car c'est le seul rafraichissement qu'il me reste.

    Merci à tous de vos réponses et explications

  10. #10
    Membre émérite Avatar de Ramajb
    Homme Profil pro
    ----------------------------
    Inscrit en
    Septembre 2007
    Messages
    476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ----------------------------

    Informations forums :
    Inscription : Septembre 2007
    Messages : 476
    Par défaut
    Salut, pour s'assurer que tout marche bien sur ta machine, créer un nouveau projet web app, et ajouter le code suivant dans form:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <asp:TextBox ID="TextBox1" runat="server" AutoPostBack="true" OnTextChanged="TextBox1_TextChanged" />
            <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
              <ContentTemplate>            
                <asp:DropDownList ID="ddl_ville" runat="server">               
                </asp:DropDownList>
              </ContentTemplate>
              <Triggers>
                <asp:AsyncPostBackTrigger ControlID="TextBox1" EventName="TextChanged" />
              </Triggers>
            </asp:UpdatePanel>
    Dans le code behind
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    protected void TextBox1_TextChanged(object sender, EventArgs e)
            {            
                ddl_ville.Items.Add(TextBox1.Text);            
            }
    Normalement tu ne devrais pas avoir de flash avec ce code car ça marche bien sur ma machine.

    a+

Discussions similaires

  1. Réponses: 20
    Dernier message: 29/03/2013, 15h16
  2. UpdatePanel et rafraichissement
    Par ibrahim26 dans le forum ASP.NET
    Réponses: 5
    Dernier message: 13/01/2009, 14h35
  3. [.NET 2.0] Rafraichissement - UpdatePanel
    Par OtI$ dans le forum ASP
    Réponses: 1
    Dernier message: 17/10/2007, 14h35
  4. UpdatePanel rafraichissement des controles
    Par Magjjy dans le forum ASP.NET
    Réponses: 2
    Dernier message: 04/10/2007, 11h57
  5. Rafraichissement d'updatePanels et de listBox
    Par kazoumoulox dans le forum ASP.NET
    Réponses: 4
    Dernier message: 02/08/2007, 13h07

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