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 :

Databind dans timer


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 64
    Par défaut Databind dans timer
    Bonjour,
    Je suis nouveau en asp.net, je n'arrive pas à faire fonctionner un databind.
    J'ai regardé plusieur tuto, mais je ne trouve pas comment le faire marcher. Si quelqu'un pourrait m'aider!

    donc j'ai:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <div>
        <asp:Label runat="server" Text="<%#Prenom %>" ID="leLabel"/> 
    </div>
    dans 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
    public string Prenom
    {
      get { return iValeur.ToString(); }
    }
    ...
     
    void MyTimer_Elapsed(object sender, ElapsedEventArgs e)
    {
       leLabel.Text = iValeur.ToString();
       iValeur++;
       Page.DataBind();
    }
    donc iValeur est bien incrémenté mais lelabel sur ma page web ne change pas!!
    Why?
    D'avance merci.

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 298
    Par défaut
    T'es dans un updatepanel ?

  3. #3
    Membre Expert
    Avatar de laedit
    Homme Profil pro
    Consultant études et développement
    Inscrit en
    Décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant études et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 344
    Par défaut
    Tente plutôt un leLabel.DataBind()...

    Mais en fait, tu ne fais pas de Binding, tu change juste la valeur du label dans le code behind. Il faudrait donc rafraichir la page pour que le changement de valeur soit effectif. Donc soit, comme l'a conseillé p_mehdi, tu utilise un UpdatePanel, soit tu fais un PostBack.
    Blog - Articles - Framework

    MSDN vous aide, si si, alors n'hésitez pas à y faire un tour avant de poser une question.
    Ah, et n'oubliez pas, Google peut répondre à la majorité de vos questions.

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 64
    Par défaut
    Merci je vais essayer

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 64
    Par défaut
    Bonjour,
    J'ai essayé de databinder le label comme ci dessous mais ca marche pas:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    void MyTimer_Elapsed(object sender, ElapsedEventArgs e)
    {
       iValeur++;
       leLabel.DataBind()
    }
    J'ai essayé le postback comme ci dessous mais ca marche pas également:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    void MyTimer_Elapsed(object sender, ElapsedEventArgs e)
    {
     
       if (!IsPostBack)
            {
                leLabel.Text = iValeur++;
                //leLabel.DataBind();
            }
    }
    Est-il possible de gerer des variables en code behind et de les afficher de manière dynamique dans la page web?

  6. #6
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 487
    Par défaut
    Vous êtes très loin de la solution.
    Il y a deux univers en ASP.NET, le client et le serveur.
    La partie serveur ne devrait plus exister après avoir répondu à la requête HTTP du navigateur.
    SI vous voulez rafraichir régulièrement vos données coté client, soit vous recréer régulièrement la partie serveur vie des soumissions côté client, soit vous aller chercher les informations avec le client.
    Dans tous les cas, c'est du code coté client qu'il vous faut pour déclencher le processus (voir un auto post via un header HTML) et pas côte server.

Discussions similaires

  1. Databinding dans un Usercontrol
    Par hawax dans le forum Windows Presentation Foundation
    Réponses: 4
    Dernier message: 22/03/2013, 11h50
  2. [Débutant] WebBrowser.Navigate ne fonctionne pas dans timer
    Par Nikko92 dans le forum C#
    Réponses: 0
    Dernier message: 13/10/2012, 15h57
  3. Filtre de DataBinding dans un DataGridView
    Par elyboss dans le forum Windows Forms
    Réponses: 1
    Dernier message: 10/09/2009, 08h33
  4. Databind dans des UltraWebGrid
    Par zwibir dans le forum ASP.NET
    Réponses: 2
    Dernier message: 06/04/2009, 14h09
  5. DataBinding dans une ListBox
    Par SKone dans le forum Windows Presentation Foundation
    Réponses: 14
    Dernier message: 23/02/2009, 18h31

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