2011-08-24 2 views
20

Je veux vérifier cette session est nul ou vide-à-dire quelque chose comme ceci:Vérification de la session si elle est vide ou non

if(Session["emp_num"] != null) 
{ 

    if (!string.IsNullOrEmpty(Session["emp_num"].ToString())) 
      { 
       //The code 
      } 
} 

Ou

if(Session["emp_num"] != null) 
    { 

     // The code 
    } 

parce que parfois quand je vérifie seulement avec:

 if (!string.IsNullOrEmpty(Session["emp_num"].ToString())) 
       { 
        //The code 
       } 

Je suis la suivante exception ING:

Null exception Référence

+2

un coup d'oeil à ce poste http://stackoverflow.com/questions/234973/what-is-the-best-way-to-determine-a-session-variable-is-null -ou-vide-en-c – Bobby

+0

vraiment sympa, merci beaucoup. –

Répondre

43

Utilisez cette option si la emp_num variable de session stocke une chaîne:

if (!string.IsNullOrEmpty(Session["emp_num"] as string)) 
{ 
       //The code 
} 

Si elle ne stocke pas une chaîne, mais d'un autre type , vous devriez juste vérifier null avant d'accéder à la valeur, comme dans votre deuxième exemple.

2

Vous devez d'abord vérifier si Session["emp_num"] existe dans la session.

Vous pouvez demander à l'objet de la session si son indexeur a la valeur emp_num ou utiliser string.IsNullOrEmpty(Session["emp_num"])

5

Vous devez vérifier que Session["emp_num"] n'est pas null avant d'essayer de le convertir en une chaîne sinon vous obtiendrez une exception de référence null.

J'irais avec votre premier exemple - mais vous pourriez le rendre légèrement plus "élégant".

Il y a deux façons, mais ceux qui vient à l'esprit sont:

if (Session["emp_num"] is string) 
{ 
} 

ou

if (!string.IsNullOrEmpty(Session["emp_num"] as string)) 
{ 
} 

Ceci renvoie null si la variable n'existe pas ou est un string.

+0

Merci beaucoup. –

7
if (HttpContext.Current.Session["emp_num"] != null) 
{ 
    // code if session is not null 
} 
  • si tout échoue ci-dessus.
Questions connexes