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 :

Boucle for to Next


Sujet :

ASP.NET

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2014
    Messages : 10
    Points : 7
    Points
    7
    Par défaut Boucle for to Next
    Bonjour,
    Je prépare une page .aspx qui comportera trois "label" où s’inscriront successivement les trois parties d’un texte (exciter la curiosité du lecteur et l’amener à envisager lui même la suite). je souhaite que le passage d’un label au suivant se fasse au rythme de ce lecteur qui aura à cliquer sur un bouton pour faire apparaître la suite du texte.
    Je ne sais pas résoudre le problème de boucle : dans la page.aspx.vb j’ai tapé les lignes ci-dessous :

    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
    Partial Class _Default
        Inherits System.Web.UI.Page
     
        Private Property ValueType As Object
        Dim value As Integer = 0
        Sub button1_Click(sender As Object, e As EventArgs)
            For i = 1 To 3
     
            Next
            value = value + 1
     
            If value = 1 Then Label1.Text = "Premier label!!"
     
            If value = 2 Then Label2.Text = "Deuxième label."
     
            If value = 3 Then Label3.Text = "Troisième label."
     
     
        End Sub
    End Class
    Mais alors si le 1° label est convenablement rempli, les deux suivants restent vides malgré des clics sur le bouton.
    Si je déplace le mot « Next » les labels 1 et 3 se remplissent d’eux-mêmes dès le premier clic, le deuxième reste ignoré.
    Je saurai gré de tout conseil.
    Cordialement

  2. #2
    Membre chevronné

    Homme Profil pro
    développeur
    Inscrit en
    Octobre 2013
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : développeur

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 576
    Points : 1 989
    Points
    1 989
    Par défaut
    Bonjour, la boucle for sert à quoi car vous n'utilisez pas la variable i? pouvez- vous lors des cliques afficher la valeur de votre variable value?

  3. #3
    Membre habitué Avatar de linke
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 119
    Points : 139
    Points
    139
    Par défaut
    ton next n'est pas a la bonne place.
    pour ton problème, je te conseil du html et du javascript.

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2014
    Messages : 10
    Points : 7
    Points
    7
    Par défaut Boucle for to Next
    Bonjour Kevin254kl et bonjour Linke,
    je vous remercie de vos réponses. Je vais reprendre mon projet à la lumière de vos suggestions ; naturellement je vous rendrai compte de l'avancement de mes travaux.
    Cordialement

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2014
    Messages : 10
    Points : 7
    Points
    7
    Par défaut Boucle for to Next
    Bonjour,
    je pense avoir trouvé une rédaction convenable, je vous la soumets ci-après :
    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
     
     
    Sub button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
     
            Label1.Text = Label1.Text + 1
     
            If Label1.Text = 1 Then Label2.Text = "Premier label!!"
     
            If Label1.Text = 2 Then Label3.Text = "Deuxième label!!"
     
            If Label1.Text = 3 Then Label4.Text = "Troisième label!!"
     
            If Label1.Text = 4 Then Label1.Text = "0"
     
        End Sub
    Je vous renouvelle mes remerciements.
    Cordialement

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    777
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 777
    Points : 1 077
    Points
    1 077
    Par défaut
    Citation Envoyé par Boisjanvers Voir le message
    Bonjour,
    je pense avoir trouvé une rédaction convenable, je vous la soumets ci-après :
    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
     
     
    Sub button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
     
            Label1.Text = Label1.Text + 1
     
            If Label1.Text = 1 Then Label2.Text = "Premier label!!"
     
            If Label1.Text = 2 Then Label3.Text = "Deuxième label!!"
     
            If Label1.Text = 3 Then Label4.Text = "Troisième label!!"
     
            If Label1.Text = 4 Then Label1.Text = "0"
     
        End Sub
    Je vous renouvelle mes remerciements.
    Cordialement
    Ça ne fonctionnera pas car a chaque passage ton label aura un 1 de plus (donc 1 puis 11 ensuite 111 etc).
    Tu n'atteindras donc jamais le 2...

    Je changerais déjà ton label 1 en champ caché et je convertirais la valeur de ce champ en entier. De cette facon tu auras quelque chose qui pourrait fonctionné mais qui sera vraiment pas performant.

  7. #7
    Membre chevronné

    Profil pro
    Chef de Projet / Développeur
    Inscrit en
    Juin 2002
    Messages
    598
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de Projet / Développeur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2002
    Messages : 598
    Points : 2 020
    Points
    2 020
    Par défaut
    Si le champ ne sert qu'à stocker un nombre, plutôt qu'utiliser un champ caché, pourquoi ne pas utiliser le ViewState ?
    Je ne sais pas ce que ça donne en VB, mais en C# ça donnerais cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    // récupérer l'état précédent
    int nb = (int)ViewState["mon_compteur"]
    // incrément
    nb = nb + 1 ;
    // stockage pour prochain appel
    ViewState["mon_compteur"] = nb ;
    //
    if (nb ==1) 
         Label2.Text = "Premier label!!" ;
     
    etc...
    Penser à initialiser ViewState["mon_compteur"] dans le Page_Load si IsPostBack=false.

    Le viewstate est un champ caché directement géré par asp.net pour mémoriser l'état de la page et des contôles asp.
    On peut y stocker ses propres données si elles sont sérailizables.



    Cordialement
    --
    vanquish

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2014
    Messages : 10
    Points : 7
    Points
    7
    Par défaut Boucle for to Next
    Bonjour Dokho1000 , Bonjour Vanquish,
    je vous remercie de vos explications et conseils. J'étais pourtant si fier de moi, ... jusqu'à ce matin.
    Je précise à l'attention de Dokho1000 que mon compteur, aussi maladroit soit-il, affiche successivement les chiffres 1, 2 ,3, etc.
    Les labels de la page .aspx sont convenablement et chacun à leur tour, renseignés. En ce cela mon projet est réalisable.
    Je vais quand même chercher à en rendre la rédaction plus élégante. Je me précipite donc sur les champs cachés et le Viewstate que je vais découvrir.
    Naturellement je rendrai compte de l'avancement de mes travaux, observation étant faite que dores et déjà je suis bien loin du problème de boucle initial qui m'avait fait vous écrie et qui reste l'intitulé historique de la discussion.
    Cordialement.

  9. #9
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    777
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 777
    Points : 1 077
    Points
    1 077
    Par défaut
    Citation Envoyé par Boisjanvers Voir le message
    Bonjour Dokho1000 , Bonjour Vanquish,
    je vous remercie de vos explications et conseils. J'étais pourtant si fier de moi, ... jusqu'à ce matin.
    Je précise à l'attention de Dokho1000 que mon compteur, aussi maladroit soit-il, affiche successivement les chiffres 1, 2 ,3, etc.
    Les labels de la page .aspx sont convenablement et chacun à leur tour, renseignés. En ce cela mon projet est réalisable.
    Je vais quand même chercher à en rendre la rédaction plus élégante. Je me précipite donc sur les champs cachés et le Viewstate que je vais découvrir.
    Naturellement je rendrai compte de l'avancement de mes travaux, observation étant faite que dores et déjà je suis bien loin du problème de boucle initial qui m'avait fait vous écrie et qui reste l'intitulé historique de la discussion.
    Cordialement.
    Je suis pas un spécialiste vb.net mais normalement String + Int = String (conversion implicite de l'entier en string)
    De plus l'expression dans ton if ne peux pas être correct puisque tu compares un string avec un entier.

    Maintenant VB est p-e plus permissif mais pour moi c'est de la mauvaise programmation qui générera des erreurs par après...

    Petit conseil, le viewstate c'est bien mais il faut faire attention car il peut grandir très vite et alourdir inutilement ta page...

    A+

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2014
    Messages : 10
    Points : 7
    Points
    7
    Par défaut Boucle for to Next
    Bonjour,
    le niveau de la discussion devient trop compliqué pour moi (manipulation de champs cachés et de viewstate).
    Je vais étudier tout cela à mon rythme puis je reprendrai la discussion ultérieurement et en tant que de besoin.
    Pour l'instant, il ne me paraît pas utile de la laisser ouverte et inactive. Je propose donc de la clore, pas avant, cependant, d'avoir remercié les intervenants pour leurs remarques et les voies qu'ils m'ont utilement indiquées.
    Boisjanvers

Discussions similaires

  1. Boucle "For To Next" qui tourne à l'envers
    Par jackvpt dans le forum Langage
    Réponses: 4
    Dernier message: 09/10/2009, 21h49
  2. boucle for each next : sauter une valeur
    Par scavenger dans le forum VBScript
    Réponses: 1
    Dernier message: 18/02/2009, 10h15
  3. Boucle: For If Next x Else blabla Next x
    Par lionhigh dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 14/07/2008, 09h11
  4. Boucle For Each Next non entrée
    Par Kareg dans le forum VBA Access
    Réponses: 9
    Dernier message: 21/05/2008, 14h35
  5. [VBA-E]PB sur une boucle for each next
    Par rond24 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 31/07/2006, 15h47

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