在年Microsoft发布了四种ASPNET Web控件用于为使用 Microsoft Internet Explorer 的 Web 访问者提供更好的体验这些 Web 控件称为 Internet Explorer Web 控件也简称为 IE Web 控件包括以下四种控件
MultiPage Web 控件
TabStrip Web 控件
Toolbar Web 控件
TreeView Web 控件
这些 Web 控件通过提供 Web 访问者熟悉的用户界面增强了 ASPNET Web 页面例如Toolbar Web 控件可以显示一个与各种 Microsoft Office 产品中的工具栏相类似的可单击工具栏TabStrip 和 MultiPage Web 控件配合使用后可以显示选项卡式内容TreeView Web 控件可以用来显示可单击可展开的树中的数据 与在 Microsoft Windows? 资源管理器中用树来显示 PC 文件系统中的驱动器和文件夹很类似(您可以在 GotDotNet 站点找到这些 Web 控件的生动演示WebControl Toolbar 演示TabStrip/MultiPage WebControl 演示和 TreeView Sample WebControl 演示)
IE Web 控件可以在安装了 NET Framework 版本 或 的 Web 服务器上使用尽管 IE Web 控件是设计用来与 Internet Explorer 配合使用的但这些 Web 控件也可以显示在其他浏览器中不过在 Internet Explorer 以外的浏览器中当用户与 IE Web 控件交互时(例如展开 TreeView Web 控件中的某个节点)会发生回传在 Internet Explorer 或更高版本中IE Web 控件会发送 DHTML 代码从而避免了回传的发生也就是说在访问您的 Web 站点时使用 Internet Explorer 或更高版本的访问者将会比使用其他浏览器的用户获得更好的用户体验当然没有使用 IE 或更高版本的用户仍可以看到 IE Web 控件并可以与之进行交互
下面本文将主要介绍 TreeView IE Web 控件并讨论如何使用此控件在 ASPNET Web 页面中显示数据有关其他 IE Web 控件的详细信息请参阅 Internet Explorer Web Controls Overview 和 Internet Explorer Web Controls Reference
安装IE Web控件
要在 ASPNET Web 应用程序中使用 IE Web 控件首先必须下载控件的源代码然后运行一个编译批处理文件对源代码进行编译并将所需的所有文件复制到相应的 Web 应用程序目录中Internet Explorer Web 控件下载程序包是一个大小为 KB 的自解压安装文件
下载并安装完 IE Web 控件后将创建一个新目录(默认为 C:\Program Files\IE Web Controls\您也可以在安装过程中配置此目录)找到这个新目录然后双击 buildbat 文件这将创建一个新的子目录 build编译 src 子目录中的类并将生成的程序集和支持文件复制到 build 子目录中
运行完 buildbat 文件后build 子目录将包含程序集文件 MicrosoftWebUIWebControlsdll 和子目录 Runtime要在 ASPNET Web 应用程序中使用 IE Web 控件必须将 build\Runtime 子目录中的内容复制到 Web 应用程序的 /webctrl_client/_ 子目录中并将程序集文件 (MicrosoftWebUIWebControlsdll) 复制到 Web 应用程序的 /bin 子目录中(在 IE Web 控件的 READMEtxt 文件中提供了示例以及执行这些任务的命令行指令)
IE Web控件入门
如果使用的是 Microsoft Visual Studio? NET 来开发 ASPNET Web 应用程序则将 IE Web 控件添加到 ASPNET Web 页是件轻松的事首先将 IE Web 控件包含在工具箱中要完成这项操作请右击 Toolbox(工具箱)然后选择 Customize Toolbox(自定义工具箱)选项选择 NET Framework Components(NET Framework 组件)选项卡然后单击 Browse(浏览)按钮找到 MicrosoftWebUIWebControlsdll 程序集文件然后单击 OK(确定)这会将 MultiPageTabStripToolbar 和 TreeView 等 IE Web 控件添加到 Visual Studio NET 工具箱中要将以上控件中的任何一种添加到 ASPNET Web 页中只需要将相应的控件从工具箱拖放到设计器中即可
要在内含代码的类中使用 IE Web 控件首先需要右击 Reference(引用)然后选择 Add Reference(添加引用)将引用添加到 MicrosoftWebUIWebControlsdll 程序集中然后在内含代码的类中如果使用的是 C# 则添加 using MicrosoftWebUIWebControls如果使用的是 Microsoft Visual Basic NET则添加 Imports MicrosoftWebUIWebControls
如果不是使用 Visual Studio NET 作为 ASPNET Web 应用程序编辑器则需要在 ASPNET Web 页的顶端手动添加以下 @Register 指令
<%@ Register TagPrefix=\whateverNamespace=\MicrosoftWebUIWebControlsAssembly=\MicrosoftWebUIWebControls\ %>
然后将IE Web控件添加到Web页中可以使用以下语法
<whatever:WebControlName runat=\server\ >
</whatever:WebControlName>
例如要添加 TreeView 控件可以在页面顶端添加以下 @Register 指令
<%@ Register TagPrefix=\iewcNamespace=\MicrosoftWebUIWebControlsAssembly=\MicrosoftWebUIWebControls\ %>
接着在ASPNET Web页中希望显示TreeView的位置添加以下Web控件语法
<iewc:TreeView runat=\server\ >
</iewc:TreeView>
TreeView IE Web 控件入门
当 TreeView IE Web 控件在访问者浏览器中显示时会显示一棵树此树与 Windows 资源管理器中的树非常类似不同的是TreeView 可以由任意多个 TreeNode 对象组成每个 TreeNode 对象都可以关联文本和图像另外TreeNode 还可以显示为超链接并与某个 URL 相关联每个 TreeNote 还可以包括任意多个子 TreeNote 对象包含 TreeNode 及其子节点的层次结构构成了 TreeView 控件所呈现的树结构
假设您要构建一个用于显示家谱的 TreeView 控件由于信息基本上不需要改动因此您可能希望静态地指定 TreeView 结构如果使用的是 Visual Studio NET则静态指定 TreeView 结构就像填写几份表格一样简单首先通过将 TreeView 控件从工具箱拖放到设计器中将新的 TreeView 控件添加到 ASPNET Web 页中然后将 TreeView 控件的 ID 属性设置为 tvFamilyTree
现在要静态指定组成 TreeView 的 TreeNode请从 Properties(属性)窗格中选择 Nodes(节点)属性然后单击此属性右侧的省略号按钮这时将显示 TreeNodeEditor(TreeNode 编辑器)对话框现在可以将新的 TreeNode 添加到 TreeView 中
填充 TreeNodeEditor(TreeNote 编辑器)对话框后以下标记将被添加到 ASPNET Web 页的 aspx 部分
<ie:TreeView id=\tvFamilyTree\ runat=\server\>
<ie:TreeNode Text=\John Smith\>
<ie:TreeNode Text=\Born: Jan rd \></ie:TreeNode>
<ie:TreeNode Text=\Died: Feb \></ie:TreeNode>
<ie:TreeNode Text=\Spouse\>
<ie:TreeNode Text=\Marie Ellsworth\>
<ie:TreeNode Text=\Born: Aug \></ie:TreeNode>
<ie:TreeNode Text=\Died: Unknown\></ie:TreeNode>
</ie:TreeNode>
<ie:TreeNode Text=\Children\>
<ie:TreeNode Text=\John Smith Jr\>
<ie:TreeNode Text=\Born: July \></ie:TreeNode>
<ie:TreeNode Text=\Died: Sept \></ie:TreeNode>
</ie:TreeNode>
<ie:TreeNode Text=\Mary Smith\>
<ie:TreeNode Text=\Born: June \></ie:TreeNode>
<ie:TreeNode Text=\Died: Aug \></ie:TreeNode>
<ie:TreeNode Text=\Spouse\>
<ie:TreeNode Text=\Edward Joy\>
<ie:TreeNode Text=\Born: Unknown\></ie:TreeNode>
<ie:TreeNode Text=\Died: Aug
\></ie:TreeNode>
</ie:TreeNode>
<ie:TreeNode Text=\Children\>
<ie:TreeNode Text=\Michael Joy\>
<ie:TreeNode Text=\Born: Oct
\></ie:TreeNode>
</ie:TreeNode>
<ie:TreeNode Text=\Michele Joy\>
<ie:TreeNode Text=\Born: May
\></ie:TreeNode>
</ie:TreeNode>
</ie:TreeNode>
</ie:TreeNode>
</ie:TreeNode>
</ie:TreeNode>
</ie:TreeNode>
</ie:TreeNode>
</ie:TreeView>
如果不是使用 Visual Studio NET 作为编辑器则需要将此内容手动添加到 ASPNET Web 页当通过浏览器查看 ASPNET Web 页时将显示一棵可展开的树默认情况下将仅显示根节点您可以设置 TreeNote 的 Expanded 属性以指示首次查看此页面时该 TreeNote 应为展开状态
除了文本标签以外TreeNote 还可以关联图像尤其值得说明的是每个 TreeNote 可以关联三幅图像当 TreeNote 处于标准(折叠)状态时显示一幅图像当 TreeNot