SqlDataReader dr = xfz_sqlhelper.SqlHelper.Execute_datareader("tree_kc1", param); TreeNode tn1 = TV_pj.Nodes[0]; while (dr.Read())
{
TreeNode childnode = new TreeNode();
childnode.Text = dr["course_name"].ToString();
childnode.NavigateUrl = dr["pk_id"].ToString();
childnode.Target = "right";
tn1.ChildNodes.Add(childnode); //Response.Write( dr["course_name"].ToString()+ dr["pk_id"].ToString());
} dr.Close();///上面是没问题的,下面就提示我索引越界了, SqlDataReader dr = xfz_sqlhelper.SqlHelper.Execute_datareader("tree_kc1", param); TreeNode tn1 = TV_pj.Nodes[0];
TreeNode childnode = new TreeNode();
while (dr.Read())
{
childnode.Text = dr["course_name"].ToString();
childnode.NavigateUrl = dr["pk_id"].ToString();
childnode.Target = "right";
tn1.ChildNodes.Add(childnode); //Response.Write( dr["course_name"].ToString()+ dr["pk_id"].ToString());
} dr.Close();注意比较不同之处在于,声明被加入的那个子节点的时间 ,,
一个是在read之前,一个是在read时,,
{
TreeNode childnode = new TreeNode();
childnode.Text = dr["course_name"].ToString();
childnode.NavigateUrl = dr["pk_id"].ToString();
childnode.Target = "right";
tn1.ChildNodes.Add(childnode); //Response.Write( dr["course_name"].ToString()+ dr["pk_id"].ToString());
} dr.Close();///上面是没问题的,下面就提示我索引越界了, SqlDataReader dr = xfz_sqlhelper.SqlHelper.Execute_datareader("tree_kc1", param); TreeNode tn1 = TV_pj.Nodes[0];
TreeNode childnode = new TreeNode();
while (dr.Read())
{
childnode.Text = dr["course_name"].ToString();
childnode.NavigateUrl = dr["pk_id"].ToString();
childnode.Target = "right";
tn1.ChildNodes.Add(childnode); //Response.Write( dr["course_name"].ToString()+ dr["pk_id"].ToString());
} dr.Close();注意比较不同之处在于,声明被加入的那个子节点的时间 ,,
一个是在read之前,一个是在read时,,
tn1.ChildNodes.Add(childnode);
tn1.ChildNodes.Add(childnode);
此时tn1中只有一个childnode而不会是两个。
TreeNode childnode = new TreeNode();
while (dr.Read())
{
childnode.Text = dr["course_name"].ToString();
childnode.NavigateUrl = dr["pk_id"].ToString();
childnode.Target = "right";
tn1.ChildNodes.Add(childnode);
childnode = new TreeNode(); //加了这一行,以保证childnode指向新实例 //Response.Write( dr["course_name"].ToString()+ dr["pk_id"].ToString());
} dr.Close();