我有一个场景,我在Gridview
行插入值。所以当我第一次插入行时。会话值实际上是""
但是在这样检查的时候
if (Convert.ToString(Session["RecdInfo"]) != null || Convert.ToString(Session["RecdInfo"]) != "")
{
if (strMode == "M")
{
FunFillGrid();
DtRecdInfo = (DataTable)Session["RecdInfo"];
}
DtRecdInfo = (DataTable)Session["RecdInfo"];
}
else
{
BindDataTable();
}
条件是true
,而应该false
并进入else
部分。
我尝试使用Session["RecdInfo"])
,但仍然在IF
条件内。为什么会这样发生?
答案 0 :(得分:2)
我认为您的情况不是correct
,因为如果您的session
是""
而不是null
,那么条件将为true
。
您可以首先检查session
是否不是null
,而不是检查它是否为空字符串
if (Session["RecdInfo"] != null)
{
if (!string.IsNullOrEmpty(Session["RecdInfo"] as string))
{
}
}