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

VB.NET Discussion :

Mise à jour d'une variable contenant une variable de session


Sujet :

VB.NET

  1. #1
    Membre averti
    Homme Profil pro
    Développeur web
    Inscrit en
    Mai 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Développeur web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 14
    Par défaut Mise à jour d'une variable contenant une variable de session
    Bonjour à toutes et tous,
    Voilà...je rencontre à un pb de mise à jour d'une variable "déportée" qui contient une variable de session et j'ai besoin d'un coup de main, voir juste...un petit coup de pouce .
    J'ai dans une classe générale une variable var2 modifiée par une variable de session :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var1 As String = Session("nom1")
     
    var2 As String = var1 & "\" & Session("nom2")
    Dans le code d'une page web, je modifie la valeur de Session("nom2") avec le contenu d'une textbox puis je lance une procédure (toujours contenue dans le code behind de la page) qui exploite var2 (contenue dans la classe générale, je le rappelle).
    Malheureusement var2=var1 et pourtant la valeur de Session("nom2") a bien été modifiée.

    La fin de ma procédure ouvre une nouvelle page et là... var2= var1 & Session("nom2")

    Y'a un truc qui m'échappe et je ne sais pas quoi .

    Pourriez-vous m'aider ?

  2. #2
    Membre Expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Par défaut
    Salut,

    m'est avis que tu as un souci dans ta gestion du cycle de vie de ta page.
    A quel moment fais-tu l'assignation de nom1 vers sa nouvelle valeur ?
    A quel moment fais-tu la construction de ta var2 ?

    Peut-être que cette page peut t'intéresser.

  3. #3
    Membre averti
    Homme Profil pro
    Développeur web
    Inscrit en
    Mai 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Développeur web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 14
    Par défaut
    Merci pour cette réponse super rapide .


    La relecture de la doc sur le cycle de vie des pages n'a pas levé de piste de recherche (mais je l'avoue, toutes ces docs sont parfois un peu obscure pour moi).


    J'ai configuré le sessionState en mode="InProc" dans le web.config. Les valeurs des variables de session sont donc stockées sur le serveur ?

    J'ai vérifié les valeurs des variables de session au cours du traitement, elles sont bien mises à jour.


    Si ensuite j'appelle var2 (voir 1er msg), contenue dans une class du répertoire App_Code de mon projet, ne devrais-je pas récupérer la valeur mise à jour avec la nouvelle valeur de Session("nom2") ?

  4. #4
    Membre Expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Par défaut
    Re,

    la gestion des sessions InProc (dans le même processus que ton application web) ne devrait pas poser de souci, c'est celui par défaut.

    Pour le reste de ton problème j'ai du mal à voir, si tu pouvais faire suivre le code ce serait plus facile. Si dans le cycle tu assignes la nouvelle valeur à nom2 en session avant de faire ta concat' dans var2 y'a peut-être un souci de code (et non de cycle).

  5. #5
    Membre averti
    Homme Profil pro
    Développeur web
    Inscrit en
    Mai 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Développeur web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2012
    Messages : 14
    Par défaut
    Salut jopopmk,
    Mon problème est résolu. C'était bien une erreur de codage.
    Peu habitué à l'utilisation des propriétés dans mes projets, j'avais construit une propriété "comme dans le manuel" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Property Nom() 
      Get
       ...
      End Get
      Set (By Val Value)
      ...
      End Set
    End Property
    et puis à mesure des tests de débogage, on fait des expériences et on complique le truc.

    Comme souvent, la solution était proche et...plus simple. :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    var1 As String = Session("nom1")
    Public ReadOnly Property var2() As String
            Get
                Return var1 & "\" & Session("nom2")
            End Get
    End Property
    Au final, le code que j'ai déclaré lorsque j'ai ouvert ce sujet, ne permet pas de mettre à jour la variable lorsqu'on l'appelle dans sa class.
    Il faut forcer sa mise à jour en la déclarant via une propriété.

    En espérant que cette expérience profite à d'autres.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 06/03/2013, 13h00
  2. [VBA Excel] Appliquer une macro sur une celulle contenant une valeur
    Par tchauviere dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 21/01/2008, 10h21
  3. Réponses: 6
    Dernier message: 08/12/2007, 14h33
  4. Réponses: 2
    Dernier message: 23/11/2007, 11h33
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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