我收到错误:
对象引用未设置为对象的实例。
当我尝试获取会话的值时,它会出错。会话的值为null但我已经尝试测试它以检查它是否为null,并且在if语句中它仍然总是因此错误而失败。
string test;
if (Session["CustType"].ToString() != null ||
Session["CustType"].ToString() != String.Empty)
{
test = Session["CustType"].ToString();
txtCustomerType.Text = test;
}
错误发生在此代码的第二行。我只是不知道该怎么做,因为即使我试图检查它是否为空,我也无法做任何事情。
答案 0 :(得分:5)
您需要检查以下内容。删除ToString(),因为在null上调用ToString()会给出对象引用错误。
Session["CustType"] != null
答案 1 :(得分:1)
使用
(!String.IsNullOrEmpty(Session["CustType"]))
答案 2 :(得分:0)
你应该检查:
Session["CustType"] != null
在使用Session["CustType"].ToString()
之前,因为如果它为null,则您尝试在空对象上调用ToString()
。
最简洁的代码可能是:
var test = Session["CustType"] as string;
if (!string.IsNullOrEmpty(test))
{
txtCustomerType.Text = test;
}
答案 3 :(得分:0)
首先检查null,然后调用ToString
var obj = Session["CustType"];
if (obj != null &&
!string.IsNullOrEmpty(obj.ToString()))
{
txtCustomerType.Text = obj.ToString();
}
答案 4 :(得分:0)
要在对象上使用ToString()
,它不能为空。你有... ..
Session["CustType"].ToString() != null
您需要将其替换为......
Session["CustType"] != null
答案 5 :(得分:0)
可能是因为您正在引用无法访问的表中的对象。使用断点调试代码,并检查测试变量是否在异常时分配给它。如果保持的表的计数为0,则将确认该问题。
答案 6 :(得分:0)
你在检查空值时从会话中删除了tostring()
使用此
if (Session["CustType"] != null &&
Session["CustType"].ToString() != string.Empty)
代替
if (Session["CustType"].ToString() != null &&
Session["CustType"].ToString() != String.Empty)