检查会话是否为空

时间:2014-04-29 11:11:17

标签: c# asp.net session-variables

在下面的代码中我有Session变量,我想在其中检查它是否为null。请帮我这样做。 (SearchDoc)是上课。

var SearchDoc = (SearchDoc)Session["Documentname"];
var oDocumentID = SearchDoc.ClientID;
var Documentid = SearchDoc.DocumentID;

if (SearchDoc == null)
{

}

3 个答案:

答案 0 :(得分:5)

这是最安全的方法:

 if ((HttpContext.Current.Session !=null && Session["Documentname"] as SearchDoc!= null))
{

 //do what you want with
  ((SearchDoc)Session["Documentname"])

}

要注意的两件事:

  • 是的,有时会话对象为空。 (可能与AShX没有适当的界面一起发生)
  • 使用AS运算符。 - 一旦没问题,你可以安全地投射到SearchDOC

答案 1 :(得分:1)

你可以试试这个:

string oDocumentID = string.Empty;
string Documentid = string.Empty;

if(Session["Documentname"] != null){
 var SearchDoc = (YourSearchDocType)Session["Documentname"];
 oDocumentID = SearchDoc.ClientID;
 Documentid = SearchDoc.DocumentID;

 // some code
}

不要尝试访问可以为null的对象的某些属性

答案 2 :(得分:1)

试试这个

if(Session["Documentname"] != null)
{
    var SearchDoc = (SearchDoc)Session["Documentname"];
    var oDocumentID = SearchDoc.ClientID;
    var Documentid = SearchDoc.DocumentID;

    if (SearchDoc == null)
    {
    }

}