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

Ari*_*MAZ 1 c# asp.net datatable session

我有一个会在其中存储DataTable的会话.它可能不是最好的主意,但它对我来说非常有效.我的问题是,我知道如果Session为空或者为null,如何检查Session.但我不知道如果它有数据表,如何检查Session

这是我的代码,用于检查会话中是否包含字符串

if (!string.IsNullOrEmpty(Session["stok_kodu"] as string))
Run Code Online (Sandbox Code Playgroud)

不幸的是,DataTable类没有像下面那样的"IsNullOrEmpty"函数.

// this is wrong
if (!DataTable.IsNullOrEmpty(Session["stok_kodu"] as DataTable))
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

Hab*_*bib 6

尝试使用DataTable as,如果你null回来,这意味着会话中不存在DataTable.

DataTable dt = Session["stok_kodu"] as DataTable;
if(dt  != null)
{
  //DataTable exists
}
else
{
 //DataTable doesn't exist
}
Run Code Online (Sandbox Code Playgroud)

对于弦乐.

使用字符串值检查IsNullOrEmpty并不能真正告诉您密钥是否存在于会话中.如果它是一个空字符串,但它确实存在于会话中,您将得到一个结果,表明它没有.只需检查它null是否存在密钥.