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 :

[VB.NET] je crois que c'est un problème de Post Back


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 [VB.NET] je crois que c'est un problème de Post Back
    Salut

    Je suis pas sûr, mais je crois que j'ai un souci de PostBack, mais vu que j'ai rien compris à ce truc là, ben je suis paumé. Et ce que j'ai trouvé sur le Net a plutôt eu tendance à me paumer un peu plus.

    Donc, je charge un Label avec une donnée qui vient de ma BDD. Pour cela j'ai mis çà dans ma procédure PageLoad. Voici le code :
    Code vb.net : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            'Placez ici le code utilisateur pour initialiser la page
            conex()
            Dim sql As String = "select * from Speed_Voiture"
            Dim sqlargent As String = "select Argent from Speed_Joueur where IDJoueur = " & userid
            Dim cmdSelect As New SqlCommand(sql, scConnexion)
            Dim drVoiture As SqlDataReader
            lblArgent.Text = FormatCurrency(RetourneUneValeur(sqlargent))
            drVoiture = cmdSelect.ExecuteReader(CommandBehavior.CloseConnection)
            dlVoiture.DataSource = drVoiture
            dlVoiture.DataBind()
     
        End Sub

    Rien de bien méchant jusque là. Mais ensuite, plus bas dans ma page, j'ai un DataList avec une UpdateCommand. Lorsque je clique sur le lien de la UpdateCommand il exécute des choses, dont une action de Update sur le champ Argent de la table Speed_Joueur (cf le code audessus) et c'est le champ que je charge au début.
    Donc ce label qui est chargé au départ, visiblement n'est pas rechargé aprés la UpdateCommande du Datalist. Je crois bien que j'ai pas géré un truc avec le PostBack, mais je sais pas comment faire.

    Quelqu'un pourrait il m'expliquer, simplement, merci.
    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
    Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 45
    Points : 46
    Points
    46
    Par défaut
    J'ai pas tout compris ce que tu veux faire mais concernant le postback voila une petite explication.

    Tu passes par ton page load a chaque chargement de ta page et à chaque postback généré sur ta page. Donc si tu veux n'effectuer que certaine chose dans ton page load tu peux le filtrer en faisant ceci.

    Code vb.net : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            'Placez ici le code utilisateur pour initialiser la page
     
             if not page.ispostback then 
     
                   ----------
                   ----------
                   ----------
     
             end if 
     
    End Sub

    tout ce qui se trouve dans le if ne sera exécuter qu'au premier chargement de ta page. le reste sera exécuté à chaque postback càd à chaque fois que tu appuieras sur un bouton par exemple.

    En espérant que ceci puisse t'aider.

    Bon coding

    VinZ

  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
    Merci pour ta réponse.

    Mais alors je comprends pas bien : si je mets pas ce que tu m'indiques, cela veut dire que à chauqe chrgement de la page il exécute les actions. Hors dans mon code, je lui demande d'aller dans la base chercher une donnée et il le fait pas. PArce que entre temps, lrosque ma apge est rechargée je lui fait faire un update de la donnée dans question.

    Dans ma page j'ai un DataList avec une Commande UpDate.

    Bon, je vais faire des essais, gene en ommettant le NOT, pour lui forcer la main.

    @+
    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
    Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 45
    Points : 46
    Points
    46
    Par défaut
    je te réexplique, basiquement ça se passe comme ça dans ton code:

    1- Chargement de ta page ---> Exécution du code Page load
    2- Ton champs argent est chargé
    3- Clic sur Update ---> Exécution de ton Update
    4- Ton champs argent est chargé, mais ton clic te génère un postback !!!!
    5- Donc tu repasses par ton code pageload, donc tu écris 2 fois ton champs argent. il est donc possible que tu écrases ton champs en repassant par ton pageload. D'ou l'intéret de tester dans le page_load si tu viens d'un postback ou d'un premier chargement de ta page.

    J'espère que ceci aura pu t'éclairé un peu plus sur la gestion du postback.

    ++

    VinZ

Discussions similaires

  1. Réponses: 5
    Dernier message: 06/09/2011, 20h03
  2. est ce que c'est un problème de disque dur?
    Par NANOUSUN dans le forum Composants
    Réponses: 6
    Dernier message: 14/01/2010, 16h18
  3. [ADO.NET]Apparament mon delete n'est pas mis à jour.Quoi que?
    Par lrx94 dans le forum Accès aux données
    Réponses: 4
    Dernier message: 05/12/2006, 15h33
  4. [NET 3.0/Winfx] Qu'est ce que c'est au juste ?
    Par Sodangbe dans le forum Framework .NET
    Réponses: 6
    Dernier message: 13/07/2006, 22h18
  5. Windwos crois que c'est un virus !
    Par Guillaume602 dans le forum Windows
    Réponses: 5
    Dernier message: 30/12/2005, 21h49

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