Je veux vérifier que la session est nulle ou vide, c'est-à-dire quelque chose comme ceci:
if(Session["emp_num"] != null)
{
if (!string.IsNullOrEmpty(Session["emp_num"].ToString()))
{
//The code
}
}
Ou juste
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 fais face à l'exception suivante:
Exception de référence nulle
Utilisez ceci si la variable de session emp_num va stocker une chaîne:
if (!string.IsNullOrEmpty(Session["emp_num"] as string))
{
//The code
}
S'il ne stocke pas une chaîne, mais un autre type, vous devez simplement vérifier la valeur null avant d'accéder à la valeur, comme dans votre deuxième exemple.
if (HttpContext.Current.Session["emp_num"] != null)
{
// code if session is not null
}
Vous devez vérifier que Session["emp_num"]
n'est pas null
avant d'essayer de le convertir en chaîne, sinon vous obtiendrez une exception de référence null.
J'irais avec votre premier exemple - mais vous pourriez le rendre un peu plus "élégant".
Il y a plusieurs façons, mais celles qui viennent à l'esprit sont:
if (Session["emp_num"] is string)
{
}
ou
if (!string.IsNullOrEmpty(Session["emp_num"] as string))
{
}
Cela retournera null si la variable n'existe pas ou n'est pas une chaîne.
Vous devez d’abord vérifier si Session["emp_num"]
existe dans la session.
Vous pouvez demander à l'objet de session si son indexeur a la valeur emp_num
ou utiliser string.IsNullOrEmpty(Session["emp_num"])
Si c’est une session simple, vous pouvez appliquer Null
Check en utilisant if(Session["Session_name"] !=null)
mais si c'est une session d'une liste alors vous devez appliquer Soit 1 ou 2
Option 1:
if (((List<int>)(Session["Session_name"])) != null &&
(List<int>)Session["Session_name"])).Count > 0)
Option 2:
List<int> val= Session["Session_name"] as List<int>`;`//Get the value`
if (val.FirstOrDefault() != null)