我想使用一个TreeView控件来显示文件夹的结构,可以在Asp.net中没有默认的Treeview控件,于是,我查找了相关资料,知道微软发布了它的控件IEWebControls.我下载了该控件,并安装到了自己的机器上。
1、下载:
下载的网址
http://msdn.microsoft.com/downloads/samples/internet/asp_dot_net_servercontrols/webcontrols/
2、安装:
首先,解压缩然后运行Builder.bat。发现报错,检查了一下,原来是CSC.exe没有找到。所以,我修改了一下批处理,在CSC.exe前面加上了这个文件的完全路径,批处理的内容就变成了:
@if "%_echo%"=="" echo off
if not exist build mkdir build
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322/csc.exe /out:build\Microsoft.Web.UI.WebControls.dll @IEWebControls.rsp
xcopy src\Runtime build\Runtime /E /Y /I /Q
然后,根据ReadMe的提示,在默认站点下创建了一个文件夹c:\Inetpub\wwwroot\webctrl_client,然后再在这个文件夹下创建了“\1_0”文件夹,然后,将Builder目录下的文件拷到这个文件夹下,这个文件夹包含下列文件:
/webctrl_client/1_0
MultiPage.htc
TabStrip.htc
toolbar.htc
treeview.htc
webservice.htc
webserviced.htc
[images]
[treeimages]
然后,将生成的DLL文件(Microsoft.Web.UI.WebControls.dll)复制到你新创建的WEb应用下的Bin目录下
3、使用
根据提供的例子文件,创建一个web应用,打开要编辑的页面,在最上面增加下列句子:
<%@ Register TagPrefix="ie" Namespace="Microsoft.Web.UI.WebControls" Assembly="Microsoft.Web.UI.WebControls" %>
在适当位置放上这个控件:
<ie:TreeView id="TreeView1" runat="server"></ie:TreeView></TD>
或者,通过在工具箱上“添加/移除”这些控件,然后,将工具箱的控件拖拽到相应的位置。
4、增加节点
如果,你需要写固定的节点,你可以在该控件的属性中修改“nodes”属性来建立树形结构。
如果,是动态生成的话,你必须修改Cs代码文件。步骤大概如下:
a、添加引用
b、定义Treeview:
protected Microsoft.Web.UI.WebControls.TreeView TreeView1;
c、生成节点:
Microsoft.Web.UI.WebControls.TreeNode FileNode1=new Microsoft.Web.UI.WebControls.TreeNode();
d、设置节点属性
fileNode1.Text="根节点";
fileNode1.Target="http://www.csdn.net";
e、将节点加入Treeview
Treeview1.Nodes.Add(fileNode1);