Rafraichir UpdatePanel pendant une boucle

nerone21 Messages postés 108 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 5 mai 2011 - 29 déc. 2009 à 13:12
nerone21 Messages postés 108 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 5 mai 2011 - 5 janv. 2010 à 23:24
Bonjour,

Alors j'ai un petit problème...

Environnement : VS2008 et VB.NET

J'ai une page contenant des adresses IP que je veut pinger à l'appui d'un bouton présent sur la page et le tout mis dans un UpdatePanel.

L'évènement click du bouton permet de parcourir les lignes de la gridview et de pinger l'adresse IP et de changer la couleur de la ligne en fction du résultat.

En fait je voudrais qu'à chaque passage dans la boucle, rafraichir la gridview.

Le code du bouton :
Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
        For Each gvr As GridViewRow In GridView1.Rows
            If My.Computer.Network.Ping(CType(gvr.FindControl("IPLabel"), Label).Text) Then
                gvr.BackColor = Drawing.Color.LightGreen
            Else
                gvr.BackColor = Drawing.Color.Bisque
            End If
            UpdatePanel1.Update()
        Next
    End Sub


j'ai mis UpdateMode en Conditional dans l'UpdatePanel.

SVP une solution miracle...
Ou alors pouvoir appeler une fonction de Ping contenu dans le code behind depuis du javascript.

Merci d'avance.

2 réponses

primactif Messages postés 119 Date d'inscription vendredi 27 décembre 2002 Statut Membre Dernière intervention 3 octobre 2016 1
1 janv. 2010 à 16:36
Bonjour

Ta logique me gène car je pense que pour modifier la couleur de tes rows, tu est obligé de faire un binding de ta gridview donc de modifier gvr

Personnelement je ferais le traitement lors du RowDataBound et pouquoi pas mettre un timer sur le trigger de ton updatepanel si tes adresses IP changes dans ta BD

Bruno POUPON webmaster@primactif.com
HTTP://WWW.PRIMACTIF.COM
0
nerone21 Messages postés 108 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 5 mai 2011
5 janv. 2010 à 23:24
Bonjour et Bonne Année...

Merci à toi pour cette réponse...

Alors j'ai vérifié et lorsque j'appuie sur le bouton pour lancer les pings, il n'y a pas de nouveau Bind.

Moi mon envie est que lors de la boucle, de temps en temps (par exemple toutes les 10 machines) que mon updatepanel se mette à jour et donc ma gridview.

Là lorsque je fait un 'UpdatePanel1.Update()', mon updatepanel ne se rafraichit pas.

Mais par contre je suis d'accord pour un timer, mais j'utiliserai du javascript pour ce faire.

Quelqu'un HEEEEEEEELLLLLLLLPPPPP...

Merci.
0
Rejoignez-nous