如何在.net c#中检查会话是否存在或者为空值还是null

时间:2011-05-24 01:39:03

标签: c# .net web-applications

有谁知道如何在.net c#web-applications中检查会话是空还是空?

示例:

我有以下代码:

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

它始终显示Session [“ixCardType”]的错误(错误消息:对象引用未设置为对象的实例)。无论如何,我可以在转到.ToString()??

之前检查会话

3 个答案:

答案 0 :(得分:21)

像“if”这样简单的东西应该有效。

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

如果你想在会话值为null时想要空字符串,那么就是这样:

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

答案 1 :(得分:14)

使用object运算符投放as,如果值无法转换为所需的null类型,则返回class,或者null本身。

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

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

答案 2 :(得分:1)

您可以将结果分配给变量,并在调用ToString()之前测试它为null / empty:

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