2011-02-07 3 views
0
string Landcode = Session("landcode"); 

donne un message d'erreur:variable de session non reconnaissable

Erreur 2 Le nom 'session' n'existe pas dans le contexte actuel

Je vois la session de mot dans le IntelliSense. Et la variable de session est déclarée dans global.asax.

void Session_Start(object sender, EventArgs e) 
    { 
     // Code that runs when a new session is started 
     string landcode = Request["strLandCode"]; 
    } 

`

Répondre

1

Où êtes-vous essayer d'accéder à l'objet de session?

Le code pour obtenir la valeur de session serait (vous aussi vérifier qu'il est non nul avant d'appeler .ToString():

string landcode = Session["landcode"].ToString(); 

L'objet de demande et de l'objet session ne sont pas le même objet trop . Vous devez faire ce qui suit pour ajouter landcode à la session:

Session["landcode"] = strLandCode; 
+0

J'ai une page aspx (default.aspx) avec javascript. Dans la partie javascript, il y a un appel ajax qui envoie le code du pays au global.asax ($ .post ("Global.asax", {strLandCode: LandCode});) de cette façon, j'ai écrit string landcode = Request ["strlandcode"] – Thomas

+0

Je l'ai débogué à nouveau, et je pense que je sais où il ne fonctionne pas (string strLandcode = Request ["strLandCode"];) strLandCode est toujours null – Thomas

-1

Voici comment utiliser la session dans ASP.NET et C#

//This how to add value in session "ID" Is the name of the session and "1" is the value 
Session.Add("ID", 1); 
//How to retrieve the value which is in the Session 
int ID = Convert.ToInt16(Session["ID"]); 
//write session Value 
Response.Write(ID.ToString()); 

S'il vous plaît Essayez et nous dire le résultat

+1

S'il vous plaît laisser un commentaire quand downvoting –

1

Utilisez HttpContext.Current.Session["landcode"]

session est une sorte de dictionnaire et vous indexer avec [] plutôt que d'utiliser un appel de méthode par exemple ()

Et en C# vous devez également jeter chaque objet de façon lors de l'obtention objet chaîne précède avec (string), lors de l'obtention d'un int précéder avec (int) etc ...

+0

!! j'ai essayé cela aussi, et il semble que la chaîne Landcode (pour la première) n » t être rempli avec la variable de session.J'ai changé le deuxième code bit à la chaîne landcode = "BE". Mais la chaîne de caractères Landcode est toujours nulle. – Thomas

Questions connexes