TreeNode tn = null;
while (red.Read())
{
tn = new TreeNode();
tn.Text = red["name"].ToString();
tn.Value = red["id"].ToString();
tn.ImageUrl = "images/lis.jpg";
if (red["gen"].ToString() == "1")
{
if (tn.Text == "课件下载" || tn.Text == "源码下载" || tn.Text == "图书下载" || tn.Text == "视频教程")
//if (tn.Parent != null && tn.Parent.Text == "资源下载")
{
tn.NavigateUrl = "Sdownload.aspx?mingzi=" + tn.Text;
tn.Target = "contentshow";
}
else
{
tn.NavigateUrl = "shownr1.aspx?id=" + tn.Value;
tn.Target = "contentshow";
}
}
}
如何使红色的代码可以代替绿色的那,上面那句不可用;
要不然还得每次手动该代码;
谢谢.........
tn.Parent != null在你的代码来看已改永远为false,因为这是你还没有把这个结点添加到资源下载的根结点,你可以先添加进根结点再这样判断,不知道你明白了没有!试试看
你这个地方TreeNode tn = null;到下面才赋值导致的添加问题!
一般我都这么写
TreeNode tn =new TreeNode();
tn的属性赋值
最后添加到根结点
我想知道最后你打算怎么处理这个tn??
tn属性设置完了就不管了?至少要把tn加到树上去。
你的目的是从数据库读数据,根据数据库的记录生成一个树?
从你的代码来看你的数据库好像还不能表示一棵树。。。
建议使用递归
TreeNode tn = null;
好象一般都是TreeNode tn =new TreeNode();然后把根下面添好,你的好象没有填充啊...