当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > ASP.NET实现静态的TreeView控件导航

ASP.NET
ASP.NET超凡的代码控制(二)
剖析ASP.NET下部构造(一)
剖析ASP.NET下部构造(二)
ASP.NET的Web controls(一)
ASP.NET的Web controls(二)
如何在页面上动态的生成 WebForm控件
再议正则表达式(这次是在asp.net 上的应用)
利用.NET框架简化发布和解决DLL Hell问题(1)
利用.NET框架简化发布和解决DLL Hell问题(2)
在ASP+中访问数据库
通过事例学习.net的WebForms技术(一)
通过事例学习.net的WebForms技术(二)
如何在aspx中得到在存储过程中的的数值(兼答jspfuns的问题)
如何得到一个汉字和字母组合的字符串的准确的长度(asp.net 版本的)
ASP+中取代ASP的RS(Remote Scripting)技术的Framework
通过事例学习.net的WebForms技术(三)
通过事例学习.net的WebForms技术(四)
通过事例学习.net的WebForms技术(五)
通过网络域名得到这台主机的IP地址
查看服务器磁盘、文件的aspx

ASP.NET实现静态的TreeView控件导航


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-23   浏览: 334 ::
收藏到网摘: n/a

ASP.NET提供了一系列拥有页面导航功能的控件,这些控件包括在页面显示菜单的Menu控件、提供站点导航的Site MapPath控件和显示层次结构的树形(TreeView)控件。本章的示例将介绍这些控件在创建Web应用程序中的应用。

实现静态的TreeView控件导航

TreeView控件是一个树形结构的控件。该控件用于显示分层数据,如文件目录。TreeView控件的每个节点是一个TreeNode对象,具有Text属性和Value属性,Text属性指定在节点显示的文字,Value属性是获取节点的值。每个节点有选定和导航这两种状态,NavigateUrl属性决定节点的状态,当该属性不为空字符串("")值时为导航状态,否则为选择状态。默认情况下,会有一个节点处于选择状态。

TreeView控件的Nodes包含所有节点的集合,可以用设计器为TreeView控件添加节点,也可以使用编程的方式动态添加节点。如果当TreeView控件需要显示的节点非常多,一次性加载可能会影响效率,在这种情况下,可以设置TreeView控件的PopulateOnDemand属性为true,那么展开节点时引发TreeNodePopulate事件,在这个事件中使用编程的方式加载子节点。本示例将演示如何使用TreeView控件的静态节点实现页面导航。

技术要点

实现静态的TreeView控件导航的技术要点如下。

TreeView控件的Nodes属性包含所有节点,通过编程向该属性增加节点。

TreeNode对象作为TreeView控件的一个节点,通过该对象设置导航信息。

实现步骤

(1)在VS2008中创建一个ASP.NET网站,命名为“TreeViewSample1”。

(2)添加一个页面,命名为“TreeViewControl.aspx”,并把这个页设置为起始页。

(3)从工具箱选择TreeView控件设计页面。

(4)在首次加载页面时,首先创建一个根节点,不带任何导航信息,然后将该节点添加子节点信息。代码如下所示。

以下为引用的内容:

<%@ Page Language="C#" AutoEventWireup="true" %>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.TreeView1.ShowLines = true;//在控件中显示网格线
TreeNode rootNode = new TreeNode();//定义根节点
rootNode.Text = "分类产品";
TreeNode tr1 = new TreeNode();//定义子节点
tr1.Text = "电器类";
tr1.NavigateUrl = "~/electric.aspx";
rootNode.ChildNodes.Add(tr1);//把子节点添加到根节点
TreeNode tr2 = new TreeNode();
tr2.Text = "食品类";
tr2.NavigateUrl = "~/food.aspx";
TreeNode tr21 = new TreeNode();
tr21.Text = "苹果";
tr21.NavigateUrl = "~/apple.aspx";
tr2.ChildNodes.Add(tr21);//添加二级子节点
rootNode.ChildNodes.Add(tr2);
TreeNode tr3 = new TreeNode();
tr3.Text = "日用品类";
tr3.NavigateUrl = "~/commodity.aspx";
rootNode.ChildNodes.Add(tr3);
this.TreeView1.Nodes.Add(rootNode);//把根节点添加到TreeView控件中
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>TreeView使用示例</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TreeView ID="TreeView1" runat="server">
</asp:TreeView>
</div>
</form>
</body>
</html>

(5)按Ctrl+F5组合键运行程序,

运行结果如图22.1所示。  

  
图22.1  运行结果

源程序解读

(1)TreeView控件的属性比较丰富,ShowLines属性确定各节点之间是否显示连线。

(2)TreeNode对象代表TreeView控件的一个节点,该对象的ChildNodes属性包含节点的子节点。