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

C# Discussion :

Passer une variable de session dans un lien href


Sujet :

C#

  1. #1
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2011
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Octobre 2011
    Messages : 255
    Points : 193
    Points
    193
    Par défaut Passer une variable de session dans un lien href
    Bonjour a tous,

    J'essaie de passer ma variable de session dans un lien. Mais je n'y arrive pas. Je pense que cela viens de mes double cotes. Comme je viens du monde de Vb.net l'utilisation de cote est différente.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
                this.literalGenre.Text += "<a href=album.aspx?idgenre =" + Session["idgenre"] + "><img src=photo/" + DataGenre.image + "></a>";
    Voila ce que m'indique Firebug :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <a =5="" href="album.aspx?idgenre">
    <img src="photo/genreDance.jpg">
    La variable de session est bien récupérer, mais se place après le <a = et non après ?idgenre=

    Merci à vous pour votre aide.
    Life myLife = new Life ("eat","sleep","code");

  2. #2
    Membre confirmé

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2011
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 244
    Points : 574
    Points
    574
    Par défaut
    C'est normal, tu as un espace entre idgenre et le = qui suit, et comme il n'y a ni guillemet ni apostrophe qui entoure ta valeur, tu génères ceci comme code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ...<a href=album.aspx?idgenre =5>...
    Il suffit de rajouter des apostrophes et virer l'espace :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     this.literalGenre.Text += "<a href='album.aspx?idgenre=" + Session["idgenre"] + "'><img src='photo/" + DataGenre.image + "'></a>";
    ou des guillemets "échappés" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     this.literalGenre.Text += "<a href=\"album.aspx?idgenre=" + Session["idgenre"] + "\"><img src=\"photo/" + DataGenre.image + "\"></a>";
    Ce n'est pas un problème de langage C#/VB.NET mais de construction de HTML.
    "C'est tellement merdique que toute modification est une amélioration !"

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    A mon avis c'est à cause de l'espace après idgenre... comme tu ne mets pas de doubles quotes autour de ton href, il s'arrête au premier espace. Pour mettre des doubles quotes dans une chaine, il faut les préfixer par le caractère d'échappement (\)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    this.literalGenre.Text +=
        string.Format(
            "<a href=\"album.aspx?idgenre={0}\"><img src=\"photo/{1}\"></a>",
            Session["idgenre"],
            DataGenre.image);

  4. #4
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2011
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Octobre 2011
    Messages : 255
    Points : 193
    Points
    193
    Par défaut
    Sacré espace et caractère d'échappement. Des fois on cherche des choses des plus complexe, alors qu' un simple espace est a l'origine de l'erreur.

    Ces 28° commence a avoir des effets néfaste sur mon cerveau

    Merci a vous deux, problème résolu.

    Life myLife = new Life ("eat","sleep","code");

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

Discussions similaires

  1. passer une variable de session à la couche métier
    Par froulet dans le forum ASP.NET
    Réponses: 4
    Dernier message: 21/04/2008, 16h10
  2. Récupérer une variable de session dans une Servlet
    Par Lazarey dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 07/03/2008, 11h46
  3. Réponses: 2
    Dernier message: 23/05/2007, 13h42
  4. [PHP-JS] Passer une variable PHP->JS dans une boucle
    Par PedroBD dans le forum Langage
    Réponses: 2
    Dernier message: 12/05/2006, 11h43
  5. Réponses: 8
    Dernier message: 06/02/2006, 16h38

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