2011-08-24 19 views
20

Quiero comprobar que la sesión es nulo o vacío es decir algo como esto:sesión de Comprobación de si está vacío o no

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

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

O simplemente

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

     // The code 
    } 

porque a veces cuando compruebo solamente con:

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

I face the follow ing excepción: excepción

nulo Referencia

+2

echar un vistazo a este post http://stackoverflow.com/questions/234973/what-is-the-best-way-to-determine-a-session-variable-is-null -o-vacío-en-c – Bobby

+0

realmente agradable, muchas gracias. –

Respuesta

43

Utilice esta si la sesión emp_num variable almacenar una cadena:

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

Si no almacena una cadena, sino algún otro tipo de , solo debe verificar null antes de acceder al valor, como en su segundo ejemplo.

2

Primero debe comprobar si Session["emp_num"] existe en la sesión.

le puede pedir al objeto de sesión si su indexador tiene el valor emp_num o utilizar string.IsNullOrEmpty(Session["emp_num"])

5

Es necesario comprobar que Session["emp_num"] no null es antes de tratar de convertirlo en una cadena de lo contrario obtendrá una excepción de referencia nula.

Me gustaría ir con su primer ejemplo, pero podría hacerlo un poco más "elegante".

Hay un par de maneras, pero los que me viene a la mente son:

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

o

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

Esto devolverá un valor nulo si la variable no existe o no es una cuerda.

+0

Muchas gracias. –

7
if (HttpContext.Current.Session["emp_num"] != null) 
{ 
    // code if session is not null 
} 
  • si es que lo anterior falla.
Cuestiones relacionadas