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] UpdateProgress par CodeBehind


Sujet :

ASP.NET

  1. #1
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut [AJAX] UpdateProgress par CodeBehind
    Bonjour

    J'essai de metrte en place un UpdateProgress par CodeBehind, mais visiblement il me manque un détail. Sauf que je me suis paumé dans la MSDN à la recherche de ce détail et j'ai rien trouvé de plus sur le site d'AJAX.

    Bref, j'espère que quelqu'un ici l'a déjà fait, sinon, je crois que je suis grave dans la mouise.

    Voici déjà mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Dim progComptage As New UpdateProgress
    Dim divprog As New LiteralControl
    divprog.Text = "<div id=""divprog"" style=""position:absolute;background-image:url('/Images/blank.gif');background-repeat:repeat;top:50px;left:50px;width:1080px;height:780px;padding:200px;""><img src=""../../Images/loading.gif"" alt=""Veuillez patienter s'il vous plait"" /></div>"
    With progComptage
    	.ID = "progComptage"
    	.DisplayAfter = 0
    	.DynamicLayout = True
    	.AssociatedUpdatePanelID = "upComptage"
    	.Controls.Add(divprog)
    End With
    Et dans je clique sur le bouton qui déclenche l'ajout de ce truc là il me dit :
    A ProgressTemplate must be specidifed on UpdateProgress control with ID 'progComptage'
    Donc, je comprend bien qu'il aimerait avoir un ProgressTemplate. je l'ai trouvé en code HTML, mais je ne le trouve pas en CodeBehind

    Pouvez vous m'aider ?
    Mon blog de création d'univers : Qualhiryann
    Mon site qui parle de moi www.ozouf.com
    Pour les joueurs de WOW je suis sur Ysondres et mon perso est Ablanore.

  2. #2
    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 : 40
    Localisation : France, Ille et Vilaine (Bretagne)

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Points : 3 102
    Points
    3 102
    Par défaut
    L'UpdateProgress nécessite (comme te le dis ton message d'erreur ) un progress template dans lequel tu colles tes controles.
    Jette un coup d'oeil du côté de la méthode instantiateIn de la propriété progress tempate de l'objet updateprogress.

  3. #3
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Oui, j'ai regardé dans ce coin là, mais je n'ai pas trouvé d'exemple de code me permettant de faire l'opération.

    En fait, ce que je comrpends c'est qu'il faut ajouter le ProgressTempalte dans leUpdatePorgress, jsuque là, normal, c'est comme ça que ça amrche dans le code HTML.

    Mais, visiblement, pour ajouter une ProgressTempalte il faut faire un ITemplate, et là, je bug. Je en comprends pas comment on fabrique un truc pareil. Si j'ai bien compris, le ITemplate est une classe abstraite, amis je la raccroche à quoi ?

    Bilan, je capte rien. Tout ce que j'essai me rammène à un message d'erreur ou a rien du tout sur la page.
    Mon blog de création d'univers : Qualhiryann
    Mon site qui parle de moi www.ozouf.com
    Pour les joueurs de WOW je suis sur Ysondres et mon perso est Ablanore.

  4. #4
    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 : 40
    Localisation : France, Ille et Vilaine (Bretagne)

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Points : 3 102
    Points
    3 102
    Par défaut
    Tu crées une classe qui implémente ITemplate
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Public Class ProgressTemplate
        Implements ITemplate
            Public Sub InstantiateIn(ByVal container As Control)
            Dim lbl As New label()
            lbl.Text = "Progress......" 'ou une image, ce que tu veux.
            container.Controls.Add(lbl)
        End Sub
    End Class
    le container est ta div ou ton span, le conteneur donc

    et dans ta page, là ou tu declares ton updateprogress tu fais simplement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    uprogress.ProgressTemplate = new PogressTemplate

  5. #5
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    bon, ben en fait je comrpend rine de ce que j'ai fait.
    J'ai copier collé ton code dans ma page de CodeBehind. J'ai juste changé le nom de la classe, pour pas confondre avec autre chose.

    Ensuite, j'ai rajouté la ligne que tu dis. Mais ce que je comprends pas c'est qu'il me prend le UpdateProgress du UpdatePanel du niveau de haut supérrieur. Mais pas du tout le Lable qu'il y a dans ton code.

    Bilan de l'opération, ça marche, ça plante pas, mais l'image d'attent n'est pas au bon endroit.

    Scritch, scritch fit il en ce gattant la barbe, mais pourquoi l'informatique c'est comme les filles : compliqué !
    Mon blog de création d'univers : Qualhiryann
    Mon site qui parle de moi www.ozouf.com
    Pour les joueurs de WOW je suis sur Ysondres et mon perso est Ablanore.

  6. #6
    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 : 40
    Localisation : France, Ille et Vilaine (Bretagne)

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Points : 3 102
    Points
    3 102
    Par défaut
    je pense que tu lui as passé le mauvais container.
    Essaye de lui passer directement ton updatepanel puisque de toute facon, une fois la page rendue, l'updatepanel est une simple div.

  7. #7
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Ben l'ennui, c'est que je lui passe rien du tout

    Regarde mon code :
    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
     
    'Ajoute de la ligne pour le comptage
    Dim lComptage As New Label
    'Rajout du Trigger pour les bouton
    Dim upComptage As New UpdatePanel
    Dim apbbtn As New AsyncPostBackTrigger
    Dim progComptage As New UpdateProgress
     
    With progComptage
    	.ID = "progComptage"
    	.DisplayAfter = 0
    	.DynamicLayout = True
    	.AssociatedUpdatePanelID = "upComptage"
    	.ProgressTemplate = New ProgressTemplateMoi
    End With
    apbbtn.ControlID = "btnCompter"
    apbbtn.EventName = "Click"
    With upComptage
    	.ID = "upComptage"
    	.Triggers.Add(apbbtn)
    	.UpdateMode = UpdatePanelUpdateMode.Always
    	.ContentTemplateContainer.Controls.Add(progComptage)
    	.ContentTemplateContainer.Controls.Add(lComptage)
    End With
     
    'plus bas, aprés la fermeture de la Class
     
    Public Class ProgressTemplateMoi
    Implements System.Web.UI.ITemplate
    Public Sub InstantiateIn(ByVal container As Control) Implements System.Web.UI.ITemplate.InstantiateIn
    	Dim lbl As New Label()
    	lbl.Text = "Progress......"	'ou une image, ce que tu veux.
    	container.Controls.Add(lbl)
    End Sub
    End Class
    Et lorsque je clique sur le bouton, ben le texte "Porgress" n'apparait pas.
    Mon blog de création d'univers : Qualhiryann
    Mon site qui parle de moi www.ozouf.com
    Pour les joueurs de WOW je suis sur Ysondres et mon perso est Ablanore.

  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 : 40
    Localisation : France, Ille et Vilaine (Bretagne)

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Points : 3 102
    Points
    3 102
    Par défaut
    Citation Envoyé par zooffy Voir le message
    Ben l'ennui, c'est que je lui passe rien du tout

    Regarde mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    	.ProgressTemplate = New ProgressTemplateMoi()
    Et lorsque je clique sur le bouton, ben le texte "Porgress" n'apparait pas.
    Dans ce cas, essaye d'utiliser la propriété AssociatedUpdatePanelID, je n'en suis pas sûr mais peut être que ca l'aidera à déterminer le container qui va bien.

Discussions similaires

  1. [AJAX] SlideShow par CodeBehind
    Par zooffy dans le forum ASP.NET
    Réponses: 2
    Dernier message: 15/01/2009, 10h47
  2. [AJAX] ajouter un updatePanel par codebehind
    Par zooffy dans le forum ASP.NET
    Réponses: 7
    Dernier message: 11/07/2008, 11h57
  3. FCKEditor par CodeBehind
    Par zooffy dans le forum ASP.NET
    Réponses: 2
    Dernier message: 04/07/2008, 16h46
  4. Récupérer la connexiontString par CodeBehind
    Par zooffy dans le forum ASP.NET
    Réponses: 2
    Dernier message: 30/04/2008, 12h51
  5. [AJAX] AJAX appelé par AJAX
    Par hanphi dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 14/04/2008, 10h10

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