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. #21
    Membre Expert
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 419
    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 419
    Par défaut
    il est ou ton test2?

  2. #22
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 107
    Par défaut
    En fait le label Test de cette page servait à autre chose (en gros à rien maintenant!) Mais L_test et L_test2 qui sont sencés prendre paramètre les variables de session sont sur l'autre page:
    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
     
    <%@ Page Language="C#" %>
    <script runat="server">
     
        //
     
        void B_Essai_Click(object sender, EventArgs e)
        {
            //L_Test.Text = "coucou";
            L_Test.Text=Session["UserName"].ToString();
            L_Test2.Text=Session["UserPasswd"].ToString();
        }
     
    </script>
    <html>
    <head>
    </head>
    <body>
        <form runat="server">
            <p>
                <asp:Label id="L_Test" runat="server"></asp:Label>
            </p>
            <p>
                &nbsp;<asp:Label id="L_Test2" runat="server"></asp:Label> 
            </p>
            <p>
                <asp:Button id="B_Essai" onclick="B_Essai_Click" runat="server" Text="Affiche session!!"></asp:Button>
            </p>
            <!-- Insert content here -->
        </form>
    </body>
    </html>
    Pourquoi??

  3. #23
    Membre Expert
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 419
    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 419
    Par défaut
    comme d hab, il te met l erreur ou?

    ca va etre plus simple...

  4. #24
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 107
    Par défaut
    Voilà toute la page d'erreur!! :
    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

    Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

    Source Error:


    Line 7: {
    Line 8: //L_Test.Text = "coucou";
    Line 9: L_Test.Text=Session["UserName"].ToString();
    Line 10: L_Test2.Text=Session["UserPasswd"].ToString();
    Line 11: }


    Source File: C:\Inetpub\wwwroot\Accueil.aspx Line: 9

    Stack Trace:


    [NullReferenceException: Object reference not set to an instance of an object.]
    ASP.Accueil_aspx.B_Essai_Click(Object sender, EventArgs e) in C:\Inetpub\wwwroot\Accueil.aspx:9
    System.Web.UI.WebControls.Button.OnClick(EventArgs e) +108
    System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +57
    System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +18
    System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
    System.Web.UI.Page.ProcessRequestMain() +1277
    voili voilou!

  5. #25
    Membre Expert
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 419
    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 419
    Par défaut
    a priori, ca veut dire que ton control L_text n'est pas declaré, ou n'a pas de valeur.

    il faut que tu l associe a ton control aspx.

    donc que tu fasse un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    L_text = CType(e.Item.FindControl("L_text"), TextBox)
    ligne 8 par exemple

  6. #26
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 107
    Par défaut
    Arf ça me soule... marceh toujours pas, ça me fais une erreur sur la ligne que tu m'as donné:
    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
     
    Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately. 
     
    Compiler Error Message: CS1519: Invalid token '=' in class, struct, or interface member declaration
     
    Source Error:
     
     
     
    Line 3:  
    Line 4:      //
    Line 5:      L_Test = CType(e.Item.FindControl("L_Test"), Label)
    Line 6:      
    Line 7:      void B_Essai_Click(object sender, EventArgs e)
     
     
    Source File: C:\Inetpub\wwwroot\Accueil.aspx    Line: 5
    Ca sert à quoi exactement d'ailleurs? Parce que normalement t'as pas besoin de déclarer un label, non??

  7. #27
    Membre Expert
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 419
    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 419
    Par défaut
    euh, je suis aps sur que tu puisse mettre la ligne en dehors de la fonction...

    C'ets pas une declaration, c'est une affectation. donc a mettre juste avant la ligne L_text=session[...]

  8. #28
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 107
    Par défaut
    en effet ça marche mieux mais c'est toujours pas ça...:
    Nouvelle erreur:
    Compiler Error Message: CS0117: 'System.EventArgs' does not contain a definition for 'Item'

    Source Error:



    Line 8: {
    Line 9: //L_Test.Text = "coucou";
    Line 10: L_Test = CType(e.Item.FindControl("L_Test"), Label);
    Line 11: L_Test.Text=Session["UserName"].ToString();
    Line 12: L_Test2.Text=Session["UserPasswd"].ToString();


    Source File: C:\Inetpub\wwwroot\Accueil.aspx Line: 10



    Show Detailed Compiler Output:


    C:\WINNT\system32> "c:\winnt\microsoft.net\framework\v1.1.4322\csc.exe" /t:library /utf8output /R:"c:\winnt\microsoft.net\framework\v1.1.4322\mscorlib.dll" /R:"c:\winnt\assembly\gac\system\1.0.5000.0__b77a5c561934e089\system.dll" /R:"c:\winnt\assembly\gac\system.web.services\1.0.5000.0__b03f5f7f11d50a3a\system.web.services.dll" /R:"c:\winnt\assembly\gac\system.xml\1.0.5000.0__b77a5c561934e089\system.xml.dll" /R:"c:\winnt\assembly\gac\system.web.mobile\1.0.5000.0__b03f5f7f11d50a3a\system.web.mobile.dll" /R:"c:\winnt\assembly\gac\system.data\1.0.5000.0__b77a5c561934e089\system.data.dll" /R:"c:\winnt\assembly\gac\system.enterpriseservices\1.0.5000.0__b03f5f7f11d50a3a\system.enterpriseservices.dll" /R:"c:\winnt\assembly\gac\system.web\1.0.5000.0__b03f5f7f11d50a3a\system.web.dll" /R:"c:\winnt\assembly\gac\system.drawing\1.0.5000.0__b03f5f7f11d50a3a\system.drawing.dll" /out:"C:\WINNT\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\docviewer2.1\123832fc\61e08344\m1evrads.dll" /DEBUG /debug+ /optimize- /warnaserror /w:1 "C:\WINNT\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\docviewer2.1\123832fc\61e08344\m1evrads.0.cs"


    Microsoft (R) Visual C# .NET Compiler version 7.10.3052.4
    for Microsoft (R) .NET Framework version 1.1.4322
    Copyright (C) Microsoft Corporation 2001-2002. All rights reserved.

    C:\Inetpub\wwwroot\Accueil.aspx(10,24): error CS0117: 'System.EventArgs' does not contain a definition for 'Item'
    C:\Inetpub\wwwroot\Accueil.aspx(10,54): error CS0118: 'System.Web.UI.WebControls.Label' denotes a 'class' where a 'variable' was expected
    C:\Inetpub\wwwroot\Accueil.aspx(10,18): error CS0103: The name 'CType' does not exist in the class or namespace 'ASP.Accueil_aspx'
    Je trouve rien là dessus en plus...

  9. #29
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 107
    Par défaut
    CType() c'est pour caster en fait??

  10. #30
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 107
    Par défaut
    En plus c'est pour le VB non?? Parce que moi je fais du c#.

  11. #31
    Membre Expert
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 419
    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 419
    Par défaut
    ouais, ctype ca sert a caster.

    pour mon e, dsl, j'i recopier ca de mon code un peu vite...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CType(FindControl("L_Test"), Label);
    (enleve le e.item)

  12. #32
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 107
    Par défaut
    Quelqu'un aurait-il une idée pour les variable de session qui marche pas???

  13. #33
    Membre Expert
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 419
    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 419
    Par défaut
    grrr, tes variable marche, mais tu les utilise aps bien ;-)

    t a essayer ce que je t ai proposé?

  14. #34
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 107
    Par défaut
    J'ai tout essayé mais rien n'y fait!... lol
    Oui j'ai bien essayé mais une autre erreur est arrivé:
    Compiler Error Message: CS0118: 'System.Web.UI.WebControls.Label' denotes a 'class' where a 'variable' was expected

    Source Error:



    Line 8: {
    Line 9: Response.Write(Session["UserName"]);
    Line 10: CType(FindControl("L_Test"), Label);
    Line 11: L_Test.Text=Session["UserName"].ToString();
    Line 12: L_Test2.Text=Session["UserPasswd"].ToString();
    En plus quand je fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Response.Write(Session["UserName"]);
    ca ne m'affiche rien donc c'est bien que ça ne passe pas d'une page à l'autre.

  15. #35
    Membre Expert
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 419
    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 419
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CType(FindControl("L_Test"), Label);
    il faut que tu lui dise de le mettre dans une variable.

    par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    coucou = CType(FindControl("L_Test"), Label);
    Pour le fait que ca affiche rien, si tu fais avec un toString ca va pas mieu?

    Acroche toi, t a plein de petits problemes, mais a priori ca avance ;-)

    Au début on passe tous apr la, et a force, on fait plus toutes ces erreurs

  16. #36
    Expert confirmé
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Par défaut
    heu je voudrais pas dérangé mais pourquoi mélangé du VB.Net
    Ctype(...) avec du C#
    essayes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    coucou = (Label)(FindControl("L_Test"));

  17. #37
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 107
    Par défaut
    En effet ça avance...mais beaucoup trop doucement à mon gout!!! Et puis c'est ça qui est lourd quand t'apprend un nouveau langage: toutes ces petites erreurs!!! Mais par contre même avec le ToString ça affiche rien...

    heu je voudrais pas dérangé mais pourquoi mélangé du VB.Net
    Ctype(...) avec du C#
    Je pense en effet que c'est mieux et en plus de toute façon sur asp.net on ne peut pas mélanger 2 langages sur une même page si??

    Bon de toute façon j'ai essayé les 2 solutions et les 2 me mettent une erreurs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    coucou=CType(FindControl("L_Test"), Label);
    erreur:
    System.Web.UI.WebControls.Labeldenotes a 'class' where a 'variable' was expexted
    Et l'autre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    coucou=(label)(FindControl("L_Test"));
    erreur:
    Cannot explicitly convert type 'System.Web.UI.WebControls.Label' to 'string'
    alors qu'en faisant un cast je devrais pas avoir ce pb non?

    Donc voilà, j'avance doucement mais ya toujours rien qui marche! En tout cas merci de votre aide!

  18. #38
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 107
    Par défaut
    arf j'ai rien dit, l'expression:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    coucou=(Label)(FindControl("L_Test"));
    marche très bien (je suis pas très bien réveillé ce matin )

    Par contre je reviens avec la même erreur qu'au début du coup:
    System.NullReferenceException: Objet reference not set to an instance of an objet.
    Et à quoi ça a servit de caster un autre label.. :

  19. #39
    Membre Expert
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 419
    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 419
    Par défaut
    en fait quand tu fais du code, en général tu dois declarer tes composant graphique pour pouvoir y acceder.

    La fonction findControl te retourne un objet générique, donc si tu veux l'utiliser precisement, il faut lui dire quel objet elle doit renvoyer.

    toujours la meme ligne le null? sur l'affectation du label?

  20. #40
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 107
    Par défaut
    A oki.

    Pour l'erreur oui c'est toujours sur l'affectation du label:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    L_Test.Text = Session["UserName"].ToString();

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 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