& lt% @ Page Language = " c# " AutoEventWireup = " true " code behind = " tree . aspx . cs " Inherits = " my teachers . web . tree " % & gt;
& lt!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN " " http://www . w3 . org/TR/XHTML 1/DTD/XHTML 1-Transitional . DTD " & gt;& lthtml xmlns = " http://www . w3 . org/1999/XHTML " & gt;
& lthead runat = " server " & gt
& lttitle & gt& lt/title & gt;
& lt/head & gt;
& ltbody & gt
& ltform id = " form 1 " runat = " server " >
& ltdiv & gt
& ltASP:TreeView ID = " TreeView 1 " runat = " server " Height = " 257 px " ImageSet = " windows help "
width = " 142 px " Target = " right frame " >
& lt/ASP:TreeView & gt;
& lt/div & gt;
& lt/form & gt;
& lt/body & gt;
& lt/html & gt;
在後臺
使用系統;
使用系統。集合。泛型;
使用系統。Linq
使用系統。Web
使用系統。Web . UI
使用系統。Web . UI.WebControls
使用系統。網絡安全;
使用系統。web . ui . web controls . web parts;
使用系統。Web . UI.HtmlControls
使用系統。數據;
命名空間MyTeachers.web
{
公共分部類樹:System。網頁界面
{
DataView dv
數據表dt;
受保護的void Page_Load(對象發送方,EventArgs e)
{
如果(!頁面。IsPostBack)
{
int id =Convert。ToInt32(會話[" userID "]);
//數據庫查詢執行的方法就不寫了。
//運算符op = new運算符();
//這裏執行的是:從tabmenu中選擇*。
dt = bll . tabmenubll . getalltabmenut(id);
//第壹次加載時調用方法傳遞參數。
CreateTree(0,null,dt,this。treeview 1);
}
}
///& lt;總結& gt
///創建壹棵樹
///& lt;/summary & gt;
///& lt;param name = " parentID " & gt父id
///& lt;param name = " node " & gt結節
///& lt;param name = " dt " & gt數據表& lt/param & gt;
///& lt;param name = " treeView " & gt樹形視圖的名稱
public void create tree(int parentID,TreeNode node,DataTable dt,TreeView treeView)
{
//實例化DataView dt = incoming DataTable。
dv =新數據視圖(dt);
//filter(相當於select * from tab菜單,其中menu parentID = incoming parentid)
dv。row filter = "[PID]= "+parentID;
//用foreach遍歷dv
foreach(dv中的DataRowView行)
{
//第壹次加載時為空。
if (node == null)
{
//創建根節點
TreeNode root = new TreeNode();
//根。Target = " rightFrame
//必須與數據庫相對應。
根。Text = row["menuName"]。ToString();
根。Value = row["menuID"]。ToString();
//添加根節點
這個。樹形視圖1。Nodes.Add(根);
//遞歸調用方法本身
CreateTree(int。Parse(行["menuID"]。ToString())、root、dt、treeView);
}
其他
{
//添加子節點
TreeNode child node = new TreeNode();
子節點。Text = row["menuName"]。ToString();
子節點。Value = row["menuID"]。ToString();
子節點。NavigateUrl = row["menuUrl"]。ToString();
節點。child nodes . Add(child node);
CreateTree(int。Parse(行["menuID"]。ToString())、childNode、dt、treeView);
}
}
}
}
}