我有一个会在其中存储DataTable的会话。它可能不是最好的主意,但它对我来说非常有效。我的问题是,我知道如果Session为空或者为null,如何检查Session。但我不知道如果它中有数据表,如何检查Session
这是我的代码,用于检查会话中是否包含字符串
if (!string.IsNullOrEmpty(Session["stok_kodu"] as string))
不幸的是,DataTable类没有像下面那样的“IsNullOrEmpty”函数。
// this is wrong
if (!DataTable.IsNullOrEmpty(Session["stok_kodu"] as DataTable))
我该如何解决这个问题?
答案 0 :(得分:6)
尝试使用as
获取DataTable,如果返回null
,则意味着会话中不存在DataTable。
DataTable dt = Session["stok_kodu"] as DataTable;
if(dt != null)
{
//DataTable exists
}
else
{
//DataTable doesn't exist
}
对于字符串。
使用IsNullOrEmpty
检查字符串值并不能真正告诉您密钥是否存在于会话中。如果它是一个空字符串,但它确实存在于会话中,您将得到一个结果,表明它没有。只需针对null
进行检查,看看密钥是否存在。