目前尚不支持 Microsoft® Internet Explorer WebControl。(本文包含一些指向英文站点的链接。)
本文介绍了 TreeView/TreeView.asp">TreeView 控件的使用,此控件可用于帮助生成用户界面,以显示分层的数据集、文件夹视图以及其他类似的数据结构。此控件具有多种强大功能,包括支持数据绑定和高级浏览器中丰富的动态 HTML (DHTML) 行为。多数情况下,可以通过声明的方式创建 TreeView;但也可以在客户端或服务器上通过编程以多种方式来实现此控件。
本文包括以下内容:
- TreeView.asp#Introduction" target=_self>简介
- TreeView.asp#Prerequisites" target=_self>前提条件
- TreeView.asp#terms" target=_self>术语
- TreeView.asp#TreeView_References" target=_self>TreeView 对象
- TreeView.asp#WebControls_Objects" target=_self>TreeView 元素
- TreeView.asp#Writing_Simple_TreeView" target=_self>编写简单的 TreeView
- TreeView.asp#Defining_TreeNode_Types" target=_self>格式设置
- TreeView.asp#DataBinding" target=_self>数据绑定
- TreeView.asp#Programming_with_TreeView" target=_self>编程
- TreeView.asp#WebControls_TreeView_Performance" target=_self>性能提示
- TreeView.asp#related_topics" target=_self>相关主题
简介
TreeView 是一个 ASP.NET 服务器控件,可以生成用于显示分层数据的用户界面。与其他 Microsoft® Internet Explorer WebControl 一样,TreeView 控件也会根据浏览器的类型来发送 HTML。在低级浏览器中,TreeView ASP.NET 服务器控件发送的页面内容是 HTML 3.2 格式的,而在高级浏览器中,HTML 页面还使用了 DHTML 行为,DHTML 行为是定义了自定义元素的客户端组件。对于 WebControl,高级浏览器指 Internet Explorer 5.5 或更高版本,低级浏览器指 Internet Explorer 5.01 或更低版本,或者是 Internet Explorer 以外的其他浏览器。
本文通过实际的示例说明了如何创建和使用 TreeView/TreeView.asp">TreeView 控件。TreeView 是四个 WebControl 之一;因此,要创建包含这些控件的 Web 页面,它们所要求的前提条件都彼此类似。有关 WebControl 的一般信息(包括下载和安装),请参阅 Internet Explorer WebControls 和 Authoring Web Forms with the WebControls。
WebControl 是包含一组 DHTML 行为的 ASP.NET 服务器控件,这些行为在高级浏览器中提供了丰富的用户体验。对于每个 WebControl,一个 DHTML 行为对应一个客户端对象模型,该模型与 ASP.NET 服务器控件实现的服务器端对象模型密切对应。Internet Explorer 5.5 与 ASP.NET 中的组件体系结构有着明显差别,因此客户端对象和服务器端对象所对应的对象模型也略有差别。
同时使用客户端组件和服务器端组件意味着可以使用 TreeView 以两种模式来创建 Web 页面。在 ASP.NET 中,可以使用高级浏览器中的行为编写 Web 窗体,以便基于浏览器的性能来发送内容。这些页面可以利用以某种公共语言运行库语言编写的服务器端脚本。对于 Internet Explorer 5.5 或更高版本,可以使用客户端脚本编写包含 DHTML 行为的 Web 页面。
前提条件
要深入理解本文,您需要熟悉 ASP.NET 控件的基本类型,并了解如何使用它们创建简单的 Web 窗体页面。此外,还要具备一些有关浏览器脚本的编写以及 DHTML 行为的知识,因为 WebControl 在高级浏览器中要使用这些行为。
本文中的代码示例是用 Microsoft C# 和 Microsoft Visual Basic® .NET 编写的。即使 Web 开发人员对 ASP.NET 和公共语言运行库了解不多,也很容易理解这些示例。
有关用 ASP.NET 和 WebControl 创建 Web 页面的详细设置要求信息,请参阅 Internet Explorer WebControl。
术语
术语说明Web 窗体ASP.NET Web 窗体页面框架是一种可扩展的公共语言运行库编程模型,可用于动态生成 Web 页面。Web 窗体是 .aspx 文件,由 ASP.NET 分析和处理。WebControl 是自定义的 ASP.NET 控件,用于在 Web 窗体环境中创建页面。TreeView_References>TreeView 对象
本节概要介绍了客户端和服务器端 TreeView 实现的基本异同点。您可以通过 TreeView_entry.asp">TreeView Reference 页面提供的链接访问 TreeView 组件涉及的客户端和服务器端对象的参考文档。
也可以使用 Visual Studio .NET 中的 TreeView Editor(TreeView 编辑器)直观地创建 TreeView 控件。本文主要介绍使用 TreeView 手动创建内容的方法。有关直观编辑 TreeView 的详细信息,请参阅 TreeView.asp">Using the TreeView Designer in Visual Studio .NET。
您可以通过声明的方式创建 TreeView,也可以在客户端或服务器上编写脚本来创建此控件。本文中的示例采用了声明方式,并在 Web 窗体页面中使用了 ASP.NET TreeView 服务器控件,在 HTML 页面中使用了 TreeView 行为。
由于 ASP.NET 和 Internet Explorer 支持的编程语言不同,因而这里分别提供了客户端组件和服务器端组件的参考文档。
ASP .NET 服务器控件
ASP.NET 服务器控件提供了最完备的 TreeView 编程模型。如果 Web 页面需要在各种不同的浏览器中运行,则建议使用 ASP.NET 服务器控件。因为 WebControl 会检测浏览器的类型并向低级浏览器发送 HTML 3.2 内容。
有关详细信息,请参阅 ASP .NET Server Controls Reference。
客户端行为
如果希望优化 Internet Explorer 5.5 或更高版本中的客户端性能,也有一个 TreeView/TreeView.asp">TreeView behavior 可供使用。使用 WebControl 的 ASP.NET Web 窗体会自动将该 TreeView/TreeView.asp">TreeView behavior 下载到高级浏览器中。这样,在编写仅用于客户端的 HTML 页面时,可以独立于 ASP.NET 来使用 TreeView/TreeView.asp">TreeView 行为。
许多 Microsoft Windows® 应用程序中的 TreeView 通常具有丰富的特性,例如,可以使用鼠标或键盘输入来展开或折叠 TreeView/TreeView?£asp">TreeView 中的节点。TreeView 行为支持所有这些特性,并且可以在基于客户端或服务器的 Web 页面中实现数据绑定。
TreeView 元素
您可以结合使用一个或多个由客户端和服务器端的 TreeView 组件支持的以下元素来创建 TreeView。
元素名称说明TreeView定义一个 TreeView。TreeNodeType定义一个节点类型,适用于 TreeView 中的一个或一组节点。TreeNode在 TreeView 中创建一个节点。我们提供了有关使用 TreeView ASP.NET 服务器控件和 TreeView/TreeView.asp">TreeView 行为来创建 TreeView 的参考文档。有关详细信息,请参阅 TreeView_entry.asp">TreeView Reference 页面。
TreeView 元素是 TreeView/TreeNode.asp">TreeNode 和 TreeView/TreeNodeType.asp">TreeNodeType 元素的容器。这些元素共同定义了树视图的结构、布局和外观。TreeView 不能包含这三个元素以外的任何其他 HTML 内容。
TreeView 元素可以包含任意数量的 TreeNodeType 元素,只要客户端和主机上有足够的资源。TreeNodeType 元素用于定义 TreeNode 元素的样式、图像和其他行为。可以通过元素的 Type 来分组 TreeNode 元素,以便使用 TreeNodeType 元素设置和修改它们的格式。TreeNodeType 元素必须是 TreeView 元素的子元素,并且必须出现在第一个 TreeNode 元素之前。
TreeNode 元素只能包含其他 TreeNode 元素。但是,通过将 HTML 内容指定给 TreeNode 元素的 Text 属性,可以将内容嵌入到 TreeView 中。TreeNode 元素的 Text 内容将显示为 HTML 而不是纯文本。
TreeView>编写简单的 TreeView
本节介绍创建一个简单 TreeView 的步骤。您可以使用任何文本编辑器来执行所有步骤。
要完成以下过程,需要安装 WebControl。有关详细信息,请参阅 Internet Explorer WebControls 概述。
- 创建一个 Web 应用程序。
该 Web 应当命名为 webcontrols,因为本文中的所有示例都要使用它。要使 WebControl 正常运行,必须将新的 Web 配置为一个 Web 应用程序。
- 创建一个空白 Web 窗体页面。
向 Web 中添加一个新文件并将其保存为 tree1.aspx。
- 添加导入指令。
在 Web 窗体的第一行编写 WebControl 的导入指令代码,如下所示:
<%@ import namespace="Microsoft.Web.UI.WebControls" %>
- 添加 @ Register 指令。
在 Web 窗体的第二行编写 WebControl 的 @ Register 指令代码。
<%@ Register TagPrefix="mytree" Namespace="Microsoft.Web.UI.WebControls" Assembly="Microsoft.Web.UI.WebControls, Version=1.0.2.226, Culture=neutral,
PublicKeyToken=31bf3856ad364e35" %> - 添加文档结构。
在 @ Register 指令下方添加以下内容,用于提供基本的文档结构。
<HTML><HEAD></HEAD><BODY></BODY></HTML>
- 添加一个 Form 元素。
所有 WebControl 元素必须在一个 FORM 元素中建立;因此,在文档 BODY 中添加以下标记。
<BODY><FORM runat="server"></FORM></BODY>
请注意,为 FORM 指定了 runat 属性,表明 ASP.NET 将处理任何用户输入的结果。
现在,该 Web 窗体已包含使用 WebControl 元素进行创作所需的所有处理指令、元素和内容。tree1.aspx 文件的内容现在应类似如下:
<%@ import namespace="Microsoft.Web.UI.WebControls" %><%@ Register TagPrefix="mytree" Namespace="Microsoft.Web.UI.WebControls" Assembly="Microsoft.Web.UI.WebControls, Version=1.0.2.226, Culture=neutral,
PublicKeyToken=31bf3856ad364e35" %><HEAD></HEAD><BODY> <FORM runat="server"></FORM></BODY>保存页面并在浏览器中查看它。如果一切正常,应该仅显示一个空白页面。该页面在查看之前已经被编译,并且会报告任何语法错误。如果有错误出现,请更正报告的错误。如果上面给出的示例代码无法运行,可能是由于未正确安装 WebControl。
提示:喜欢探索的读者可以尝试在声明中给出错误的命名空间或程序集属性的值,然后保存并再次查看该页面。这是一种有益的尝试,因为您可以看到公共语言运行库如何报告 Web 窗体错误。 - 添加一个 TreeView 元素。
添加一个 TreeView 元素作为 FORM 的子元素,并将其 runat 属性也设置为 server。
<BODY> <FORM runat="server"> <script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>