开始展开树的时候 高亮都很正常
但是如果在一个节点之下点添加按钮再添加一个节点的话 那个节点就会一直是高亮的
搞了好久都不知道为什么 我是个新手 希望各位老大能帮帮我。。
private void GetTreeNodes(TreeNode tnode, int pid) //用节点对应的对象的pid属性作为参数
{
//String hua = Server.UrlDecode(Request.QueryString["id"]);
String hua = Request.QueryString["id"];
///读取对象集
IList<Class1> list = ViewState["Clst"] as List<Class1>;
if (list != null && list.Count > 0)
{
foreach (Class1 obj in list)
{
if (!String.IsNullOrEmpty(hua))
{
obj.SelectedId = Int32.Parse(hua);
}
///当pid与对象的pid一致时生成节点
if (obj.Pid == pid)
{
//将对象名称作为显示值传入
TreeNode node = new TreeNode(obj.Grade);
node.NavigateUrl = "Default.aspx?id=" + obj.Id + "&name=" + obj.Grade + "";
node.Expanded = true;
//将对象添入tnode的下一级
tnode.ChildNodes.Add(node);
//传入的节点为刚生成的节点node
GetTreeNodes(node, obj.Id);
}
}
}
}
//这是Models处代码
[Serializable]
public class Class1
{
private int id;
public int Id
{
get { return id; }
set { id = value; }
}
private string grade;
public string Grade
{
//。。。
get {
if (this.Id == this.SelectedId)
{
return "<font color=\"red\">" + grade + "</font>";
}
else
{
return grade;
}
}
set { grade = value; }
}
private int pid;
public int Pid
{
get { return pid; }
set { pid = value; }
}
private int selectedId;
public int SelectedId
{
get { return selectedId; }
set { selectedId = value; }
}
}