我是使用sql2000数据库的数据来绑定treeview的,
我的系统是在B/S结构下的
由于我的数据库数据设计跟
http://www.microsoft.com/china/community/Column/30.mspx
的例子基本类似.
这里我需要获取treeview选中的节点的所代表的数据库的值
举个例子
数据库数据如下:
id, partid ,nametext
1    0       测试1
2    1        测试2
3    1       测试3如下,我需要取的该treeview绑定的数据库数据. 
我使用该TreeView1.GetNodeFromIndex(TreeView1.SelectedNodeIndex)
得到的是这样的数值2,0
这个不是我想要的数据.
也有人采用selectnode.(但是这个是在windows下的,不是webform下)
我只能获得该节点的Text,但是问题是
Text有可能会名字重复.
那么如何获取数据库绑定到treeview的选中节点的id的值呢?
这里求教,如果分数不够,可加!
谢谢!

解决方案 »

  1.   

    TreeNode node = TreeViewID.SelectedNode;
    string text = node.Text;
    string value = node.Value;
      

  2.   

    zhjg136(天星) 你好!
    TreeNode node = TreeViewID.SelectedNode;
    这个SelectedNode是在windows form下面才有的
    但是 WebForm下面没有SelectedNode这个属性.
    我现在询问的是在webfrom下面的
      

  3.   

    可以用脚本取的!
    先后台注册!! 
    private void Page_Load(object sender, System.EventArgs e)
    {

    this.TreeView1.Attributes.Add("onselectedindexchange","findNode()");
    }

    前台脚本 如下:
    function findNode()
     {
        var tree=document.getElementById("TreeView1") ;
            alert(tree.getTreeNode(tree.selectedNodeIndex).getAttribute("Text"));
     }
      

  4.   

    哈哈,有的,就是有的嘛TreeNode.Value
    获取或设置用于存储有关节点的任何其他数据(如用于处理回发事件的数据)的非显示值。TreeView.SelectedNode
     获取表示 System.Web.UI.WebControls.TreeView 控件中选定节点的 System.Web.UI.WebControls.TreeNode对象。
      

  5.   

    不好意思,我真的没有找到.
    按照zhjg136(天星) 的做法.我的是Vs2003,net1.1版本的
    莫非是版本问题?
    我的Treeview没有这个属性SelectedNode.
    TreeNode node = TreeViewID.SelectedNode;
    string text = node.Text;
    string value = node.Value;
    这里再度求教我引用的名字空间如下:DAL是数据层名字空间,incule是我表示层的名字空间.using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Web;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;
    using System.Data.SqlClient;
    using System.Text;
    using DAL;
    using incule;
    using Microsoft.Web.UI.WebControls;
      

  6.   

    你的代码少了一行
    nd.NodeData=dr["ID"].ToString();
    然后取的时候
    private void trvMenu_SelectedIndexChange(object sender, Microsoft.Web.UI.WebControls.TreeViewSelectEventArgs e)
    这个事件中
    TreeNode selNode = this.trvMenu.GetNodeFromIndex(e.NewNode);
    string id=selNode.NodeData;