树是一种很好用的导航工具,静态的树只要拖控件就可以完成,可是有时候需要和数据库绑定,生成动态的树,所以我么就来解决这个问题
第一步:在.aspx前端定义一个树控件:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TreePage.aspx.cs" Inherits="动态树.TreePage" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TreeView ID="dynamicTreeView" runat="server" ShowLines="True">
</asp:TreeView></span>
</div>
</form>
</body>
</html>
第二步:在aspx.cs后台程序去动态的生成树,添加树的子节点:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace 动态树
{
public partial class TreePage : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
LoadTree();
}
protected void LoadTree()
{
int i=5;
TreeNode root = new TreeNode();
root.Text = "Home";
while(i>0)
{
TreeNode child = new TreeNode();
child.Text = "Child" + i.ToString();
root.ChildNodes.Add(child);
i--;
}
this.dynamicTreeView.Nodes.Add(root);
}
}
}
第三步:在浏览器中打开查看:
第五步:拓展
需要根据数据库或者XML文件读取生成树,只需要在while循环的过程中读取数据库中的数据即,还可以利用循环的嵌套生成结构固定的树或者是使用数据结构的知识
将数据库中读出的乱序的节点创建为一棵导航树