C# 检查会话是否为空
在下面的代码中,我有一个会话变量,我想在其中检查它是否为null。请帮我做这个。 SearchDoc是类C# 检查会话是否为空,c#,asp.net,session-variables,C#,Asp.net,Session Variables,在下面的代码中,我有一个会话变量,我想在其中检查它是否为null。请帮我做这个。 SearchDoc是类 var SearchDoc = (SearchDoc)Session["Documentname"]; var oDocumentID = SearchDoc.ClientID; var Documentid = SearchDoc.DocumentID; if (SearchDoc == null) { } 您可以简单地尝试以下方法: string oDocumentID = str
var SearchDoc = (SearchDoc)Session["Documentname"];
var oDocumentID = SearchDoc.ClientID;
var Documentid = SearchDoc.DocumentID;
if (SearchDoc == null)
{
}
您可以简单地尝试以下方法:
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
}
不要尝试访问对象的某些属性,这些属性可能为空
if(Session["Documentname"] != null)
{
var SearchDoc = (SearchDoc)Session["Documentname"];
var oDocumentID = SearchDoc.ClientID;
var Documentid = SearchDoc.DocumentID;
if (SearchDoc == null)
{
}
}
这是最安全的方法:
if ((HttpContext.Current.Session !=null && Session["Documentname"] as SearchDoc!= null))
{
//do what you want with
((SearchDoc)Session["Documentname"])
}
需要注意的两件事:
是的,会话对象有时为空。可能发生在AShX没有适当接口的情况下
使用AS运算符。-一旦一切正常,你就可以安全地投到SearchDOC
你有什么问题?会话[文档名]!=nullUse var SearchDoc=会话[Documentname]作为SearchDoc;如果Session[Documentname]为null,那么我认为不可能强制转换SearchDocHttpContext.Current.Session将提供所有会话,或者只提供Session[Documentname]?@Bharadwaj您并不总是实例化Session对象。取决于你的舞台,例如ASHX@Bharadwaj重新检查-你不需要检查。我的意思是如果任务为空=null{}是有效语句