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 :

[C#] variables de session


Sujet :

ASP.NET

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 107
    Points : 36
    Points
    36
    Par défaut [C#] variables de session
    Bonjour tout le monde,

    Je suis en train de créer un site ou les utilisateur on besoin s'indentifier et je voudrais récupérer le loggin de l'utilisateur dans une variable de session mais ça ne marche pas!!! J'ai lu qu'il ne fallait pas les déclarer mais j'ai une erreur du type:

    "System.Web.UI.Page.Session' denotes a 'property' where a 'method' was expected"

    et
    "The name 'session' does not exist in the class or namespace 'ASP.Ident_aspx'"
    (Ident.aspx étant le nom de ma page)

    Voici le code exécuté lorsque l'utilisateur clic sur le bouton valider:
    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
    void B_Valider_Click(object sender, EventArgs e)
    {
        String Login = Tb_Login.Text.ToLower();
        String Passwd = Tb_Passwd.Text.ToLower();
     
        if (Page.IsValid) {
            if ((Login == "user") && (Passwd == "pass"))
            {
                Response.BufferOutput = true;
                Response.Redirect("Accueil.aspx");
                Session["UserName"] = Login;
                session["UserPasswd"] = Passwd;
            }
        }
    }
    Quelqu'un sait-il comment ça marche??? Merci!!

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 100
    Points : 93
    Points
    93
    Par défaut
    C'est casesentive le CSharp, t'as derniere ligne tu a session au lieu de Session!

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 107
    Points : 36
    Points
    36
    Par défaut
    Oui en fait c'était juste un test mais même avec Session ça marche pas...

  4. #4
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 107
    Points : 36
    Points
    36
    Par défaut
    Voilà donc maintenant "poufpouf" ça marche mais je n'arrive pas à récupérer le contenu. Je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Test.Text = Session["UserName"];
    Mais ça veut pas, quelqu'un saurait pourquoi???

  5. #5
    Expert éminent
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 418
    Points : 7 296
    Points
    7 296
    Par défaut
    met un point d arret sur ta ligne et regarde si ta variable de session est bien remplie en mode debug...
    ou fait un print direct...

  6. #6
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 107
    Points : 36
    Points
    36
    Par défaut
    Je développe sous webmatrix et je ne trouve pas les point d'arrêt...

  7. #7
    Expert éminent
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 418
    Points : 7 296
    Points
    7 296
    Par défaut
    bah ca doit etre echo ou print l'equivalent de system.write en vb...

    comme ca tu saura deja si ta variable est pleine ou pas.

    ca te met une ereur ou ca laisse juste vide?

  8. #8
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 107
    Points : 36
    Points
    36
    Par défaut
    En effet si au lieu de rediriger vers une autre page je fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Response.Write(Session["UserName"]);
    ça marche. Donc c'est pour le passage d'une page à l'autre qu'il veut pas.

    Mais maintenant mon erreur n'a plus l'air de venir de la variable session puisque le compilateur me dis:
    "Invalid token '=' in class, struct, or interface member declaration"
    mais je suis pas plus avancé...

  9. #9
    Expert éminent
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 418
    Points : 7 296
    Points
    7 296
    Par défaut
    il te donne pas les lignes ou y a des emmerdes?

  10. #10
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 107
    Points : 36
    Points
    36
    Par défaut
    Sisi c'est sur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Test.Text = Session["UserName"];
    Sachant que Test est un label. Pour le moment c'est ma seule ligne de code cette page!

  11. #11
    Membre éclairé Avatar de zeavan
    Architect
    Inscrit en
    Avril 2003
    Messages
    590
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Autre

    Informations professionnelles :
    Activité : Architect

    Informations forums :
    Inscription : Avril 2003
    Messages : 590
    Points : 774
    Points
    774
    Par défaut
    string text = Session["UserName"].toString();
    ou encore
    string text = (string)Session["UserName"];

  12. #12
    Expert éminent
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 418
    Points : 7 296
    Points
    7 296
    Par défaut
    est ce que tu peux recopier ton code, et ton erreur entiere... ca parais toujours clair devant l ecran, mais pour resituer ici, c'est chaud ;-)

  13. #13
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 107
    Points : 36
    Points
    36
    Par défaut
    string text = Session["UserName"].toString();
    ou encore
    string text = (string)Session["UserName"];
    Vu que j'utilise un label ça ne peut marcher ça non?

    est ce que tu peux recopier ton code, et ton erreur entiere... ca parais toujours clair devant l ecran, mais pour resituer ici, c'est chaud
    Voilà mon code (il est tout petit!!):
    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
     
    <%@ Page Language="C#" %>
    <script runat="server">
     
        Test.Text=Session["UserName"];
     
    </script>
    <html>
    <head>
    </head>
    <body>
        <form runat="server">
            <p>
                <asp:Label id="Test" runat="server"></asp:Label>
            </p>
            <!-- Insert content here -->
        </form>
    </body>
    </html>
    Et pour l'erreur, il ne me dis pas plus que plus haut... :S

  14. #14
    Expert éminent
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 418
    Points : 7 296
    Points
    7 296
    Par défaut
    essaye en mettant :
    si ca met la meme erreur...

    sinon, tu sera sure que ca vien de ta variable de session

    Pour l erreur, il ne te met pas une page complete, avec une trace de pile en bas surtout?

  15. #15
    Membre éclairé Avatar de zeavan
    Architect
    Inscrit en
    Avril 2003
    Messages
    590
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Autre

    Informations professionnelles :
    Activité : Architect

    Informations forums :
    Inscription : Avril 2003
    Messages : 590
    Points : 774
    Points
    774
    Par défaut
    Vu que j'utilise un label ça ne peut marcher ça non?
    je vois pas le rapport alors ca te fera:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monlabel.Text = Session["MySession"].toString();
    dans ton code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Test.Text = Session["UserName"].toString();

  16. #16
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 107
    Points : 36
    Points
    36
    Par défaut
    Bon ben j'ai essayé avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    L_Test.Text = "coucou";
    et j'ai toujour la même erreur:
    C:\Inetpub\wwwroot\Accueil.aspx(5,17): error CS1519: Invalid token '=' in class, struct, or interface member declaration
    J'ai aussi essayé en ajoutant toString() mais ça ne marche pas non plus...

  17. #17
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 107
    Points : 36
    Points
    36
    Par défaut
    Bon ben c'est bon ça marche, je ne peux pas dire pourquoi ça marchait pas puisque j'avais déjà testé comme ça et ça avait pas marché mais le code sur la page d'identification est :
    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
    void B_Valider_Click(object sender, EventArgs e)
    {
        String Login = Tb_Login.Text.ToLower();
        String Passwd = Tb_Passwd.Text.ToLower();
     
        if (Page.IsValid) {
            if ((Login == "log") && (Passwd == "pass"))
            {
                Response.BufferOutput = true;
                Response.Redirect("Accueil.aspx");
                Session["UserName"] = Login;
                Session["UserPasswd"] = Passwd;
            }
        }
    }
    Et sur l'autre page:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    void B_Essai_Click(object sender, EventArgs e)
    {
        L_Test.Text=Session["UserName"].ToString();
        L_Test2.Text=Session["UserPasswd"].ToString();
    }
    Le compilateur m'a demander d'ajouter au fichier WebConfig:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <configuration>
       <system.web>
           <compilation debug="true"/>
       </system.web>
    </configuration>
    Voilà et maintenant ça marche!! Merci à tous!!!

  18. #18
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 107
    Points : 36
    Points
    36
    Par défaut
    bon ben en fait ça marche plus alors que j'ai rien changé!!!! Mais maintenant nouvelle erreur:
    System.NullReferenceException: Object reference not set to an instance of an object
    POURQUOI?????????????

  19. #19
    Expert éminent
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 418
    Points : 7 296
    Points
    7 296
    Par défaut
    ca arrive souvent quand on oubli un runat=server sur un composant.

    ;-)

  20. #20
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 107
    Points : 36
    Points
    36
    Par défaut
    Pourtant il me semble bien que je les ais tous... :
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    <html>
    <head>
    </head>
    <body>
        <form action="Acceuil.aspx" method="post" runat="server">
            <h2 align="center"><asp:Label id="Titre" runat="server" forecolor="#330099" font-size="XX-Large">PCB
                DOC - VIEWER</asp:Label>
            </h2>
            <p>
                <table bordercolor="black" height="150" cellspacing="2" width="300" align="center" bgcolor="#aedfff" border="1">
                    <tbody>
                        <tr>
                            <td align="middle">
                                <asp:Label id="Label1" runat="server" forecolor="#3300CC" font-size="X-Small" font-bold="True" backcolor="#AEDFFF" font-names="arial, helvetica, sans-serif">Identifiant</asp:Label></td>
                            <td align="middle">
                                <asp:TextBox id="Tb_Login" runat="server"></asp:TextBox>
                            </td>
                        </tr>
                        <tr>
                            <td align="middle">
                                <asp:Label id="Label2" runat="server" forecolor="#3300CC" font-size="X-Small" font-bold="True" backcolor="#AEDFFF" font-names="arial, helvetica, sans-serif, x-small">Mot
                                de passe</asp:Label></td>
                            <td align="middle">
                                <asp:TextBox id="Tb_Passwd" runat="server"></asp:TextBox>
                            </td>
                        </tr>
                    </tbody>
                </table>
            </p>
            <p align="center">
                <asp:RequiredFieldValidator id="ErrLogin" runat="server" ControlToValidate="Tb_Login" errormessage="Vous devez entrer un login!!" display="Dynamic"></asp:RequiredFieldValidator>
            </p>
            <p align="center">
                <asp:RequiredFieldValidator id="ErrPasswd" runat="server" ControlToValidate="Tb_Passwd" errormessage="Vous devez rentrer un mot de passe" display="Dynamic"></asp:RequiredFieldValidator>
            </p>
            <p align="center">
                <asp:Button id="B_Valider" onclick="B_Valider_Click" runat="server" BorderStyle="Outset" BorderColor="#3300CC" BackColor="White" Text="Entrer"></asp:Button>
            </p>
            <p align="center">
            </p>
            <p align="center">
                <asp:Label id="Test" runat="server"></asp:Label>
            </p>
            <p>
            </p>
        </form>
    </body>
    </html>

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

Discussions similaires

  1. [C#] Tester existence d'une variable de session
    Par IDNoires dans le forum ASP.NET
    Réponses: 2
    Dernier message: 31/12/2004, 12h30
  2. Création d'une variable de session avec un ID
    Par PrinceMaster77 dans le forum ASP
    Réponses: 4
    Dernier message: 18/10/2004, 10h28
  3. Effacer les variables de session
    Par glsn dans le forum ASP
    Réponses: 2
    Dernier message: 12/12/2003, 13h42
  4. Variable de session
    Par Sadneth dans le forum ASP
    Réponses: 6
    Dernier message: 14/11/2003, 11h12
  5. variable de session
    Par divableue dans le forum ASP
    Réponses: 2
    Dernier message: 23/10/2003, 16h04

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