客户要求导航栏做成类似资源管理器的样式,动态从数据库读数据做为结点。
我在网上查了一下,用treeview控件,但是得using Microsoft.Web.UI.WebControls;机子上的.net没有,得在微软的网站下载,下载之后安照readme安装完,运行build.bat提示错误,csc.exe不是内部命令...........
哪位高手做过,提示一下,或者还有什么办法,赐教一下,在此表示万分感谢!
解决问题一定给分!

解决方案 »

  1.   

    C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\csc.exe另外。asp.net 2.0以上有标准的TreeView控件
      

  2.   

    我将build.bat文件改了,但运行build.bat还是报错,“C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\csc.exe不是内部命令...........”
    而且C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322里面也没csc.exe文件呀!
      

  3.   

    csc.exe不是内部命令
    是因为path设置的问题吧。
      

  4.   

    TRY在工具箱内点击右键->添加项目->找到webcontrols的dll,添加进去
      

  5.   

    我从微软下载的IEWebControls.exe 不会改,后来用了别人给的做好的组件,引用之后,报错
    -----------------------------------------未能加载文件或程序集“microsoft[1].web.ui.webcontrols”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040) 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.IO.FileLoadException: 未能加载文件或程序集“microsoft[1].web.ui.webcontrols”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)源错误: 执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。  程序集加载跟踪: 下列信息有助于确定程序集“microsoft[1].web.ui.webcontrols”无法加载的原因。
    警告: 程序集绑定日志记录被关闭。
    要启用程序集绑定失败日志记录,请将注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD)设置为 1。
    注意: 会有一些与程序集绑定失败日志记录关联的性能损失。
    要关闭此功能,请移除注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog]。 
      

  6.   

    我就是想添加上 Microsoft.Web.UI.WebControls
    怎么办呀,
    path怎么设置呀?能再教教我吗,谢谢!
      

  7.   


    在工具箱内点击右键->添加项目->找到webcontrols的dll,添加进去上面有兄弟已经说了,DLL所在路径就是你安装IEWebControls.exe时候选择的。如果你没有改变安装路径,应该是这个路径C:\program files\ie web controls\build 找到那个Microsoft.Web.UI.WebControls.dll,然后添加引用,然后在左侧工具栏点击右键选择“添加移除选项卡”,在.net framework组件下找到treeview 勾上。在你的工具栏里就可以看到Treeview了,拖到页面上,绑定数据。就可以用了。
      

  8.   

    我这有个完全控制treeview的例子,给我发个邮件,我回给你[email protected]
      

  9.   

    可以考虑一下 ajax 来制作。比较简单。
      

  10.   

    不知道你在网上的代码怎么写的,你从数据库里取出来数据放到DataSet里,然后
    TreeView.Nodes.Add("根节点","名称");   //定义根节点
    foreach (DataRow dr in ds.Tables[0].Rows)   //把值赋给节点不就行了吗
                {
                    TNode node = new TNode();
                    node.Name = dr["ID"].ToString();
                    node.Text = dr["名称"].ToString();
                    TreeView.Nodes["根节点"].Nodes.Add(node);
                }
    不知道是不是我理解错了。
      

  11.   

    根本不需要build,你直接引用 Microsoft.Web.UI.WebControls.dll,然后把 webctrl_client 文件夹拷贝到wwwroot 目录下就可以。
      

  12.   

    谢谢各位好心人的帮忙,现在我在别人指点下已经可以显示了,用的是05自带的treeview
    using System.Web.UI.HtmlControls;但现在只在本机上好用,传到网上空间里就报错
    http://www.cwi-sy.com.cn/ChanPin2.aspx    
    这个是报错的网页地址下面是我的代码:
    protected void Bind()
        {
            DataTable dt = ser.Select("select * from tbtree", "tbTree").tbTree;
         
            //绑定第一层树
            OleDbConnection con = new OleDbConnection(DB.path);
            con.Open();
            OleDbCommand com = new OleDbCommand("select * from tbtree", con);
            OleDbDataReader reader = com.ExecuteReader();
            if (reader.HasRows)
            {
                while (reader.Read())
                {
                    TreeNode tn = new TreeNode();
                    tn.Text = reader[1].ToString();
                    tn.Value = reader[0].ToString();
                   
                    //绑定第二层树
                    OleDbCommand com1 = new OleDbCommand("select * from tbtree", con);
                    OleDbDataReader reader1 = com1.ExecuteReader();
                    while (reader1.Read())
                    {
                        if (reader[0].Equals(reader1[2]))
                        {
                            TreeNode tn1 = new TreeNode();
                            tn1.Text = reader1[1].ToString();
                            tn1.Value = reader1[0].ToString();
                         //   tn1.NavigateUrl = "ChanPinJieShaodh.aspx?id=" + reader1[0].ToString() + "";
                            //绑定第三层树
                            OleDbCommand com2 = new OleDbCommand("select * from tbtree", con);
                            OleDbDataReader reader2 = com2.ExecuteReader();
                            while (reader2.Read())
                            {
                                if (reader1[0].Equals(reader2[2]))
                                {
                                    TreeNode tn2 = new TreeNode();
                                    tn2.Text = reader2[1].ToString();
                                    tn2.Value = reader2[0].ToString();                                tn2.NavigateUrl = "ChanPinJieShaodh.aspx?id=" + reader2[0].ToString() + "";
                                    //绑定第四层树
                                    OleDbCommand com3 = new OleDbCommand("select * from tbtree", con);
                                    OleDbDataReader reader3 = com3.ExecuteReader();
                                    while (reader3.Read())
                                    {
                                        if (reader2[0].Equals(reader3[2]))
                                        {
                                            TreeNode tn3 = new TreeNode();
                                            tn3.Text = reader3[1].ToString();
                                            tn3.Value = reader3[0].ToString();
                                            tn2.ChildNodes.Add(tn3);
                                           // Response.Write(reader3[0].ToString());
                                            tn3.NavigateUrl = "ChanPinJieShaodh.aspx?id=" + reader3[0].ToString() + "";
                                          
                                            //绑定第五层树
                                            OleDbCommand com4 = new OleDbCommand("select * from tbtree", con);
                                            OleDbDataReader reader4 = com4.ExecuteReader();
                                            while (reader4.Read())
                                            {
                                                if (reader3[0].Equals(reader4[2]))
                                                {
                                                    TreeNode tn4 = new TreeNode();
                                                    tn4.Text = reader4[1].ToString();
                                                    tn4.Value = reader4[0].ToString();
                                                    tn3.ChildNodes.Add(tn4);
                                                    // Response.Write(reader3[0].ToString());
                                                    tn4.NavigateUrl = "ChanPinJieShaodh.aspx?id=" + reader4[0].ToString() + "";
                                                }
                                            }
                                        }
                                    }
                                    
                                    tn1.ChildNodes.Add(tn2);
                                }
                            }                        tn.ChildNodes.Add(tn1);
                        }
                    }
                    if (reader[2].ToString() == "0")
                    {
                        TreeView1.Nodes.Add(tn);
                    }
                }
            }
            con.Close();
        }
      

  13.   

    估计你没有上传TREEVIEW的DLL文件,放到bin目录里面。
      

  14.   

    也许没。net的环境,错误这里什么都看不到
      

  15.   

    我用的是05自带的treeview  
    using System.Web.UI.HtmlControls;
    也要放到bin目录里吗?我在本机什么错都没有,传到空间里就报错了
      

  16.   

    其实,你把下载下来的安装文件安装路径设置为二楼给的目录,就可以顺利运行build.bat了。