页面用的框架结构,左面是treeview。数据库中有省、市两个表,treeview数据库绑定共有省、市两层节点。省节点ID(我用的VS2003,是这个属性而不是value)绑省表的pID字段,text绑定pName字段。市节点分别绑定cID、cName字段。现在要根据不同的省市在右面页面显示不同的内容。那么如何同时取得省、市节点的ID?我想把省、市节点的ID放在session中,请问这样是否合理?谢谢

解决方案 »

  1.   

    省份应该是树型中的父节点,市 应该是子节点,当你点击子节点时,有个属性如,treenode.parentnode可以等到省节点的ID.自己试试吧,功能上时可以实现的
      

  2.   

    我的是2003,treeview自己装的web controls 好像没有你说的treenode.parentnode属性?
      

  3.   

    那么如何同时取得省、市节点的ID?我想把省、市节点的ID放在session中,请问这样是否合理?谢谢
    --------------------------------------
    首先你能取到selectnode,就是当前选择的节点,这个应该就是市了。然后根据它的parent属性能取到上面的省节点。建议不要放在session中,最好是直接放在url中
      

  4.   

    string lID=this.TreeView1.SelectedNodeIndex.ToString();
    string tID=e.NewNode;
    为什么我获取的父节点是1,2子节点是0.1,0.2这样的,而不是我绑定的字段值呢?
      

  5.   

    高手快来啊,我用的VS2003,里面没有selectnode属性,这可怎么办啊?
      

  6.   


    你怎么直接把它转化为字符串类型呢你现在可以得到 selectednodeindex 吧  
    那不就好办了啊 
      

  7.   

    可以得到 selectednodeindex 再怎么办啊?能不能说的详细一点啊?我是菜鸟不会啊,谢谢
      

  8.   

    最近项目作个类似的,给你一段代码做参考:
    protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
        {
            string strURL = Request.Url.ToString();        TreeView tree = (TreeView)sender;        Response.Redirect(strURL.Substring(0, strURL.IndexOf("=") + 1) + tree.SelectedNode.Value);
            
        }
      

  9.   

    我做的是商品分类选择,根据分类在右边显示商品列表,分类由Request.QueryString["McdCate"]取得
    默认传进去的url是../DialogPage/McdTree.aspx?McdCate=BIEN 替换BIEN
      

  10.   

    我用的2003,没有selectedNode这个属性啊?
      

  11.   

    我的事件是:(下面是可能用到的属性)
    private void TreeView1_SelectedIndexChange(object sender, Microsoft.Web.UI.WebControls.TreeViewSelectEventArgs e)
    {
        this.TreeView1.SelectedNodeIndex.ToString();
        this.TreeView1.Nodes[Int32.Parse(this.TreeView1.SelectedNodeIndex)].ID;//这样只能取到第一层节点。
         this.TreeView1.Nodes.Parent.ToString();
        e.NewNode.IndexOf;
        e.OldNode;
    }
    帮助文件里:
    void mySelectChangeFn(Object sender, TreeViewSelectEventArgs e)
    {
      mylabel.InnerText += "Selected " + e.NewNode.ToString() + " (old Node
      Index=" + e.OldNode.ToString()+")" ;
    }
    求求各位高人指点一下吧
      

  12.   

    取当前节点,可以用TreeNode   tn   =   TreeView1.GetNodeFromIndex(TreeView1.SelectedNodeIndex);   
    取父节点应该可以使用:
    tn.getParent()方法获取