2011-05-24 18 views
11

¿Alguien sabe cómo puedo comprobar si una sesión está vacía o nula en .net C# web-applications?¿cómo puedo comprobar si la sesión existe o con valor vacío o nulo en .net C#

Ejemplo:

tengo el siguiente código:

ixCardType.SelectedValue = Session["ixCardType"].ToString(); 

siempre soy yo visualización de error para la sesión [ "ixCardType"] (mensaje de error: Referencia a objeto no establecida como instancia de un objeto) . De todos modos, puedo verificar la sesión antes de ir a .ToString() ??

+2

¿Ha intentado comparar la sesión [elemento] contra null primero? –

+1

@Anthony: Da miedo que esta pregunta exista. -1 y votado para cerrar. –

Respuesta

20

Algo tan simple como un 'si' debería funcionar.

if(Session["ixCardType"] != null)  
    ixCardType.SelectedValue = Session["ixCardType"].ToString(); 

O algo como esto si desea que la cadena vacía cuando el valor de la sesión es nulo:

ixCardType.SelectedValue = Session["ixCardType"] == null? "" : Session["ixCardType"].ToString(); 
1

puede asignar el resultado a una variable, y probarlo para nula/vacía antes de llamar ToString():

var cardType = Session["ixCardType"]; 
if (cardType != null) 
{ 
    ixCardType.SelectedValue = cardType.ToString(); 
} 
13

moldeada la object usando el operador as, que devuelve null si el valor deja de emitir a la deseada class tipo, o si es null sí mismo.

string value = Session["ixCardType"] as string; 

if (String.IsNullOrEmpty(value)) 
{ 
    // null or empty 
} 
+4

+1 para as, esa es una de las características poco conocidas más geniales de C# –

Cuestiones relacionadas