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 :

transmettre valeur de page à page autre que via httpSessionState


Sujet :

ASP.NET

  1. #1
    Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2009
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2009
    Messages : 132
    Points : 47
    Points
    47
    Par défaut transmettre valeur de page à page autre que via httpSessionState
    Bonjour,

    J'aimerais connaître un système pour récupérer des valeurs après une nouvelle requête http autrement que via les objets Session. Mon souci est le suivant : le développe un site dont le nom de domaine est modifié lorsqu'on change l'utilisateur change de langue. A cause de cela, pas possible de garder en mémoire des valeurs via l'object Session puisque la requête http sur le nouvel url est tout autre et mon site asp.net pense pense que l'utilisateur est tout autre et lui associe un nouvel ID de session. Pourtant, il me faut pouvoir récupérer ces valeurs après le changement de langue de l'utilisateur et je ne sais pas comment. J'ai fait plusieurs tentatives sans succès : essayer de mettre les valeurs dans un cookie mais je n'arrive pas à les récupérer. Sans succès. Voici mon code:

    code du bouton de changement de langue:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        protected void buttonSwitchLangue_Click(object sender, ImageClickEventArgs e)
        {
                HttpCookie sessionCook = new HttpCookie("sessionVals");
                sessionCook["taxid"] = Session["taxid"].ToString();
              Response.Redirect(urlNouveauDomaine);
     
         }
    tentative de récupération après redirection (dans le page_load de ma masterpage):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
               string sessionFromCook;
     
                if (Request.Cookies["sessionVals"]["taxid"] != null)
                {
                    sessionFromCook = Request.Cookies["UserSettings"]["taxid"];
                    link_titleSite.Title = sessionFromCook;
                }
    > reste vide.

    PS : je ne peux pas transmettre cette valeur dans l'URL, le client n'en veut pas pour raisons x

    Quelqu'un a-t-il une idée? est-ce la bonne manière de s'y prendre via les cookies ou y a-t-il une autre façon de s'y? thanks for your help parce que ça fait des heures que je sèche là-dessus et je commence à avoir des envies de meurtre envers mon pc. Merci!

    benelo

  2. #2
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Salut,

    Les cookies sont par domaine donc, il ne se partagent pas facilement. Tu pourrais laisser l'internaute sur le même domaine mais le rediriger vars une url en "en-GB" ou "en-US": http://www.mondomaine.tld/en-US/

    Sinon, tu peux forcer le nom de domaine des cookies. Cependant, je ne suis pas certain que cela fonctionne si on tente d'enlever le TLD.

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  3. #3
    Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2009
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2009
    Messages : 132
    Points : 47
    Points
    47
    Par défaut
    Bonjour,
    Merci pour la réponse. Je ne peux pas rester sur le même domaine car le nom du site doit être traduit dans chaque langue. Ils ont réservé un domaine pour chaque langue si tu veux.

    Les cookies sont par domaine donc, il ne se partagent pas facilement. Il suffirait que tu utilises une base de données avec un jeton (une chaîne cryptée dans l'url) pour régler le problème.
    Le client ne veut pas de caractères supplémentaires dans l'url malheureusement.

    Merci quand même, pas d'autre d'idée?

  4. #4
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Euh, ben à mon avis ce n'est pas possible. Si tu transposes ta question cela reviendrai à permettre à permettre à "google.com" de lire les données de session du site "facebook.com". Tu imagines les questions de sécurité?
    "Winter is coming" (ma nouvelle page d'accueil)

  5. #5
    Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2009
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2009
    Messages : 132
    Points : 47
    Points
    47
    Par défaut
    Merci mais dans mon cas, c'est la même application web pour les deux domaines. Lorsqu'un utilisateur a enregistré ses préférences sur un site, le site va les chercher dans ses cookies je pense, donc je ne comprends pas bien pourquoi si l'utilisateur sait être reconnu sur un nom de domaine il ne pourrait pas l'être sur l'autre alors que l'information est enregistrée dans les deux cas dans la même base de données. Même cryptée. Pourquoi lors de l'arrivée d'un utilisateur sur l"autre domaine", ne pas aller vérifier si cet utilisateur ne possède pas un cookie avec paramètre x (qui voudrait dire qu'il vient du premier domaine) et dans ce cas, il saurait que les informations que ce cookie contient sont celles dont j'ai besoin.
    Désolé, je n'ai pas une grande expérience en développement et donc je raisonne d'une manière purement 'logique' qui ignore peut-être certains problèmes techniques.

    Merci de la réponse
    benelo

Discussions similaires

  1. envoyer une valeur d'une page à une autre
    Par gloglo dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 10/01/2007, 13h37
  2. Renvoyer une valeur d'une page à une autre
    Par mullger dans le forum Langage
    Réponses: 2
    Dernier message: 26/10/2006, 11h04
  3. récupérer valeur d'une page à l'autre
    Par Echizen1 dans le forum Access
    Réponses: 1
    Dernier message: 24/09/2006, 11h10
  4. debutant: ecrire valeur d'une page à l'autre
    Par emelaz dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 02/05/2006, 07h12

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