Variables de session Asp .net

Fermé
youpi - 9 juin 2009 à 17:48
 mika - 16 juin 2009 à 11:00
Bonjour,

Je suis débutante en asp .net, j'utilise Visual Studio 2008, et j'essaie de créer une petite application.
Je voudrais utiliser les variables de session de la façon suivante :
L'utilisateur se logue. Je récupère son identifiant.
L'utilisateur est renvoyé vers une page ou des informations le concernant s'affichent dans une gridview.
Le problème est que je n'arrive pas à enregistrer la variable de session pour l'utiliser par la suite.
Voici le code qui a été généré quand j'ai fait glisser sur ma page Login.aspx le loginView (à partir de la palette d'outils) :

<asp:LoginView ID="LoginView1" runat="server">
<LoggedInTemplate>
Bienvenue !
</LoggedInTemplate>
<AnonymousTemplate>
<asp:Login ID="login1" runat="server" DestinationPageUrl="~/login.aspx"
TextLayout="TextOnTop" FailureText="Erreur d'identification ! Réessayez !"
LoginButtonText="login" PasswordLabelText="Mot de passe:"
RememberMeText="Se souvenir de moi la prochaine fois"
UserNameLabelText="Identifiant :" TitleText="Se connecter">

</asp:Login>

<%Session["utilisateur"] =????????? ;%>

</AnonymousTemplate>
</asp:LoginView>

C'est le champs '???' que je n'arrive pas à compléter.
Dans les propriétés du loginView, je vois que le champs correspondant à l'identifiant (qui n'est pas précisé dans ce code) est UserName.
J'ai essayé de faire
<%Session["utilisateur"] =LoginView1.UserName.text ;%> et tout ce qui peut y ressembler , mais ça ne marche pas ...

Merci d'avance pour votre aide.

5 réponses

snake-d12 Messages postés 218 Date d'inscription mardi 2 juin 2009 Statut Membre Dernière intervention 25 septembre 2009 57
10 juin 2009 à 18:56
Ah wé je vois, dans vb2008, vous devez ajouter un élément:

- tu dois ajouter un nouvelle élément nommé "Global.asax" (tu le trouve dans la fenêtre qui te permet d'ajouter une form, ou une classe...)
puis tu click sur lui deux fois pour que tu accède à la partie code, tu vas trouvé des méthodes déjà faites ,
et maintenant tu vas chercher la méthode qui s'appelle session_start (c'est elle qui contrôle les sessions de chaque utilisateur) et tu vas déclarer un attribut de l'objet session en écrivant par exemple : Session.item("Identifiant")=""

- pour enregistrer la valeur voulu dans l'objet session, il vous suffit seulement de l'affecter une valeur par exemple: Session.item("Identifiant")=me.textbox_Identifiant.text

- et pour l'obtenir vous devez l'affecter à une variable par exemple :
dim str as String = Session.item("Identifiant")

et j'espère que maintenant la solution est bien clair
bonne chance
6
Je ne suis pas membre, donc je pense que je ne peux pas marquer le problème comme résolu. Est ce quelqu'un peut le faire svp? (SNake-d12 par exemple?)
Merci
3
snake-d12 Messages postés 218 Date d'inscription mardi 2 juin 2009 Statut Membre Dernière intervention 25 septembre 2009 57
10 juin 2009 à 05:40
Si je comprend bien, vous voulez récupérer l'identifiant saisie par l'utilisateur pour l'utiliser à rechercher et afficher les données de cet utilisateur dans votre gridview.
je voit dans votre code que vous enregistrer la valeur voulu dans une session, jusqu'au maintenant c 'est bon.
mais pour remplir une gridview vous devez se connecter à la base de données et faire une selection selon de l'identifiant que vous avez enregistrer dans votre session. après vous affecter la sélection obtenu à votre gridview pour l'afficher
1
Merci Snake-d12 pour ton aide, mais le problème justement est que je n'ai pas enregistré la variable de session dans mon code.
J'ai écris là haut <%Session["utilisateur"] =????????? ;%> parce que je ne sais pas quoi mettre à la place des ??? .
Pour le SELECT c'est bon, je l'ai mis dans mon autre page, ça je sais faire.
Mon problème c'est l'enregistrement de la variable de session ...
0
merci beaucoup !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
snake-d12 Messages postés 218 Date d'inscription mardi 2 juin 2009 Statut Membre Dernière intervention 25 septembre 2009 57
15 juin 2009 à 20:15
C très bien, mais veuillez s.v.p marquer cette discutions comme résolu.
et si vous permettez veuillez nous expliquer où était le problème et comment vous l'avez réglé, pour que cette discutions restera comme un référence pour ceux qui vont affronter le même problème que toi.

et merci,cordialement
0
Désolée, autant pour moi.

Ta méthode marche surement Snake, mais en fait j'en avais trouvé une autre : Ecrire ceci dans le code behind de la page login.aspcx :


            string s = Request.ServerVariables["AUTH_USER"];
            Session["utilisateur"] = s;


Après je faisais appel à Session["utilisateur"] quand j'en avais besoin, et ça marchait.

Merci quand même pour ton aide !

Cordialement,
0