如何检查会话中是否没有数据表

时间:2014-01-22 14:41:06

标签: c# asp.net session datatable

我有一个会在其中存储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))

我该如何解决这个问题?

1 个答案:

答案 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进行检查,看看密钥是否存在。