2
我正在使用以下代码来检查以前添加到复选框列表中的数据库表中的值,但在此处得到'未设置为对象实例的对象引用'错误:未将对象引用设置为对象的实例
ListItem currentCheckBox = chkbx.Items.FindByValue(rdr["MemberID"].ToString());
这是代码,感谢您的帮助!
SqlDataReader rdr = null;
SqlConnection conn = new SqlConnection(GetConnectionString());
SqlCommand cmd5 = new SqlCommand("SELECT MemberID FROM ProjectIterationMember WHERE ProjectIterationID IN (SELECT ProjectIterationID FROM Iterations WHERE ProjectID = '" + proj_id + "')", conn);
try
{
conn.Open();
rdr = cmd5.ExecuteReader();
CheckBoxList chkbx = (CheckBoxList)FindControl("project_members");
while (rdr.Read())
{
ListItem currentCheckBox = chkbx.Items.FindByValue(rdr["MemberID"].ToString());
if (currentCheckBox != null)
{
currentCheckBox.Selected = true;
}
}
}
finally
{
if (rdr != null)
{
rdr.Close();
}
if (conn != null)
{
conn.Close();
}
}
Verfy那(CheckBoxList的)的FindControl( “project_members”)发现你的控制。而且rdr [“MemberID”]不能从数据库返回空值。 – 2011-02-13 17:11:20
非常感谢lazyberezivsky - 我在手风琴上有了自己的checkboxlist ...现在就开始工作了。 – MiziaQ 2011-02-13 17:27:39
这些问题是练习排除故障的好地方! (即调试器,更紧密的堆栈跟踪分析和推理,本地测试,分而治之/日志记录等) – 2011-02-13 19:17:49