我有一段代码,我正在检查Session
值。
因此,在gridview
内首次插入行时,我在session
上将null
值设置为Page_load
。
但是在调试此处发生的事情的同时,它仍处于Session
被not null
以下是我的代码。
int iRowCountExp = 0;
if (Session["ExpInfo"] != null)
{
dtExpInfo = (DataTable)Session["ExpInfo"];
if (strMode == "M")
{
FunFillGridDetails();
dtExpInfo = (DataTable)Session["ExpInfo"];
}
}
else
{
BindDataTable();
}
Page_load
代码
if (!IsPostBack)
{
Session["ExpInfo"] = null;
}
答案 0 :(得分:1)
Session.Remove(variableName)
从字典中删除条目(键和值)。 Session[variableName] = null
为字典中的键指定一个值(值为null
)。因此,该值将仅为null,并且密钥仍将存在。如果您使用Session.Remove(variableName)
删除变量,则会删除该变量并且您的检查将成功。希望你明白这一点。
因此你的代码应该是:
if (!IsPostBack)
{
Session.Remove("ExpInfo");
}
答案 1 :(得分:0)
尝试此代码正常运行
if (!IsPostBack)
{
Session["ExpInfo"] = string.Empty;
string value = Session["ExpInfo"] as string;
if (String.IsNullOrEmpty(value))
{
BindDataTable();
}
else
{
dtExpInfo = (DataTable)Session["ExpInfo"];
if (strMode == "M")
{
FunFillGridDetails();
dtExpInfo = (DataTable)Session["ExpInfo"];
}
}
}