关于获取点击treeview的节点信息的问题
我在default.aspx中有一个treeview1,点击treeview1的节点时,会导航到该节点对应的页面,但是我获取不到这个节点的信息,比如我在SQL2005中的数据库是这样的
在booktree表中
id pid name url
1 0 图书
2 1 小说 ../book.aspx
3 .. .. ..
treeview1的点击代码如下
protected void treeview1_SelectedNodeChanged(object sender, EventArgs e)
{
string strSelect = treeview1.SelectedNode.Value.ToString();
Session["selected"] = strSelect.ToString();
}
当我点击treeview的节点"小说"时就自动导航到book.aspx,但是获取不到该节点的值,也就是说上面的事件并没有发生,为了验证这个说法,我在另外一个页面test.aspx中添加了获取Session["selected"]的代码,运行程序之后,我先点击了父节点"图书",然后手动转到test.aspx,是可以获取到Session["selected"]的。
我创建treeview的代码如下:
public void AddTree(int ParentID, TreeNode pNode)
{
DataSet ds = (DataSet)this.ViewState["ds"];
DataView dvTree = new DataView(ds.Tables[0]);
//过滤ParentID,得到当前的所有子节点
treeview1.RowFilter = "pid = " + ParentID;
foreach (DataRowView Row in dvTree)
{
TreeNode Node = new TreeNode();
if (pNode == null)
{ //添加根节点
Node.Text = Row["name"].ToString();
Node.NavigateUrl = Row["url"].ToString();
treeview1.Nodes.Add(Node);
Node.Expanded = true; //获取或设置一个值,该值指示是否展开节点。
AddTree(Int32.Parse(Row["id"].ToString()), Node); //再次递归
}
else
{ //添加当前节点的子节点
Node.Text = Row["name"].ToString();
Node.NavigateUrl = Row["url"].ToString();
pNode.ChildNodes.Add(Node);
Node.Expanded = true; //获取或设置一个值,该值指示是否展开节点。
AddTree(Int32.Parse(Row["id"].ToString()), Node); //再次递归
}
}
}
请问我应该怎么做才能在自动导航到的页面中获取Session["selected"]的值?
在booktree表中
id pid name url
1 0 图书
2 1 小说 ../book.aspx
3 .. .. ..
treeview1的点击代码如下
protected void treeview1_SelectedNodeChanged(object sender, EventArgs e)
{
string strSelect = treeview1.SelectedNode.Value.ToString();
Session["selected"] = strSelect.ToString();
}
当我点击treeview的节点"小说"时就自动导航到book.aspx,但是获取不到该节点的值,也就是说上面的事件并没有发生,为了验证这个说法,我在另外一个页面test.aspx中添加了获取Session["selected"]的代码,运行程序之后,我先点击了父节点"图书",然后手动转到test.aspx,是可以获取到Session["selected"]的。
我创建treeview的代码如下:
public void AddTree(int ParentID, TreeNode pNode)
{
DataSet ds = (DataSet)this.ViewState["ds"];
DataView dvTree = new DataView(ds.Tables[0]);
//过滤ParentID,得到当前的所有子节点
treeview1.RowFilter = "pid = " + ParentID;
foreach (DataRowView Row in dvTree)
{
TreeNode Node = new TreeNode();
if (pNode == null)
{ //添加根节点
Node.Text = Row["name"].ToString();
Node.NavigateUrl = Row["url"].ToString();
treeview1.Nodes.Add(Node);
Node.Expanded = true; //获取或设置一个值,该值指示是否展开节点。
AddTree(Int32.Parse(Row["id"].ToString()), Node); //再次递归
}
else
{ //添加当前节点的子节点
Node.Text = Row["name"].ToString();
Node.NavigateUrl = Row["url"].ToString();
pNode.ChildNodes.Add(Node);
Node.Expanded = true; //获取或设置一个值,该值指示是否展开节点。
AddTree(Int32.Parse(Row["id"].ToString()), Node); //再次递归
}
}
}
请问我应该怎么做才能在自动导航到的页面中获取Session["selected"]的值?
...全文
相关推荐
无固定节点的TreeView的遍历实例
这通常涉及到查询数据库,获取所有父节点和子节点的关系,然后使用这些信息在代码中创建相应的TreeNode对象。
选择TreeView控件的树状数据节点的JS方法(jquery)
- 在点击事件的回调函数中,首先获取被操作的复选框节点(`this`关键字指向)。- 获取当前节点的ID,并构造出其父级DIV容器的ID。
Treeview应用
开发者需要编写代码来处理Treeview的节点点击事件,当点击事件发生时,通过遍历树结构获取选中节点的所有子节点,并将这些数据传递给ListView进行刷新显示。
VS之treeview使用
四、事件处理TreeView控件有多个事件可供处理,如:- NodeMouseClick:当用户单击节点时触发,可以获取到被点击的TreeNode。
TreeView控件树型多节点选择应用实例_TreeView控件树型多节点选择应用_
在Windows编程领域,TreeView控件是一种常见的用户界面元素,它用于展示层次结构的数据,比如文件系统、组织结构或任何有层级关系的信息。


