ASP.NET nullexception错误

时间:2012-01-31 21:34:55

标签: asp.net

ASP.NET w / C#

我正在从5个文本框中收集数据。 输入数据后,单击提交按钮以发送要在另一个表单上显示的数据,并希望将其保存到数据库中。

点击“提交”

我得到NullReferenceException未被用户代码

处理

这个表格的代码背后突出显示......

if (clsDataLayer.SavePersonnel(Server.MapPath("PayrollSystem_DB.mdb"),
     Session["FirstName"].ToString,
     Session["LastName"].ToString,
     Session["PayRate"].ToString,
     Session["StartDate"].ToString,
     Session["EndDate"].ToString()))

任何想法?我不是很有经验。在此先感谢!!

3 个答案:

答案 0 :(得分:1)

Session["Key"]返回一个对象。如果该对象为null,则在其上调用ToString()将生成空引用异常。

您需要先检查您检查的每个字段是否都为空。 e.g。

(Session["FirstName"] != null) 
     ? Session["FirstName"] 
     : String.Empty;

答案 1 :(得分:0)

在检索这些变量之前,您需要确保已设置这些Session变量。在用户的会话中,您应该在某些时候设置这些会话变量,如

Session["FirstName"] = txtFirstName.Text;
//etc

您可以在使用它们之前进行检查,以确保它们不为空,例如

if(Session["FirstName"] != null){}

此外,当您使用.ToString()方法时,请确保将()(与上一个方法相同)附加到所有方法。

答案 2 :(得分:0)

clsDataLayer为NULL,或者会话中的5个值之一不存在。您必须测试空值。

顺便说一句,你在4个地方的()之后遗漏了ToString;我很惊讶甚至编译。