/// <summary>
/// LeftTree 的摘要说明。
/// </summary>
public class LeftTree : System.Web.UI.Page
{
protected Microsoft.Web.UI.WebControls.TreeView tv;

private void Page_Load(object sender, System.EventArgs e)
{
tv.Target = "mainFrame";
tv.ImageUrl = "/webctrl_client/1_0/images/folder.gif";
tv.SelectedImageUrl = "/webctrl_client/1_0/images/folderopen.gif";
tv.ExpandedImageUrl = "/webctrl_client/1_0/images/folderopen.gif";
tv.ID = "root"; TreeNode tnLocation = new TreeNode();

TreeNodeAdd(tnLocation, "区域", "AdminLocation.aspx");

Tower tower = new Tower();
DataTable dtTower = tower.GetAll(); foreach(DataRow drTower in dtTower.Rows)
{
Floor floor = new Floor();
int towerId = (int) drTower["TowerId"];
DataTable dtFloor = floor.GetByTowerId(towerId);
TreeNode tnTower = new TreeNode(); tnTower.Text = drTower["TowerName"].ToString();
tnTower.NavigateUrl = "AdminTower.aspx?TowerId=" + drTower["TowerId"];
//tnTower.NavigateUrl = "hello"; TreeNodeAdd(tnTower, tnLocation); foreach (DataRow drFloor in dtFloor.Rows)
{
Room room;
TreeNode tnFloor;
int floorId;
DataTable dtRoom; floorId = (int) drFloor["FloorId"];
room = new Room();
dtRoom = room.GetByFloorId(floorId);
                    tnFloor = new TreeNode();

tnFloor.Text = drFloor["FloorName"].ToString();
tnFloor.NavigateUrl = "AdminFloor.aspx?TowerId=" + drTower["TowerId"] + "&FloorId=" +
drFloor["FloorId"];
TreeNodeAdd(tnFloor, tnTower);
                    
foreach (DataRow drRoom in dtRoom.Rows)
{
TreeNode tnRoom = new TreeNode(); tnRoom.Text = drRoom["RoomName"].ToString();
tnRoom.NavigateUrl = "AdminRoom.aspx?TowerId=" + drTower["TowerId"] +
"&FloorId=" + drFloor["FloorId"] + "&RoomId=" + drRoom["RoomId"];
TreeNodeAdd(tnRoom, tnFloor);
}
}
}// end foreach BuildAdminRoot();
} /// <summary>
/// 根节点添加
/// </summary>
/// <param name="tn"></param>
private void TreeNodeAdd(TreeNode tn)
{
tv.Nodes.Add(tn);
} /// <summary>
/// 根节点添加
/// </summary>
/// <param name="tn"></param>
private void TreeNodeAdd(TreeNode tn, string text, string url)
{
tn.Text = text;
tn.NavigateUrl = url;
tv.Nodes.Add(tn);
tn.Expanded = true;
} /// <summary>
/// 子节点添加
/// </summary>
private void TreeNodeAdd(TreeNode childNode, TreeNode parentNode, string childNodeText,
string childNodeUrl)
{
childNode.Text = childNodeText;
childNode.NavigateUrl = childNodeUrl;
parentNode.Nodes.Add(childNode);

}

/// <summary>
/// 子节点添加
/// </summary>
private void TreeNodeAdd(TreeNode childNode, TreeNode parentNode)
{
parentNode.Nodes.Add(childNode);
} /// <summary>
/// 生成管理根树
/// </summary>
private void BuildAdminRoot()
{
TreeNode tnManager = new TreeNode();
TreeNode tnSecurity  = new TreeNode();
TreeNode tnUserAdmin = new TreeNode();
TreeNode tnRoleAdmin = new TreeNode();
TreeNode tnPermissionAdmin = new TreeNode();

tnManager.Text = "管理";
tnSecurity.Text = "安全";
tnUserAdmin.Text = "用户管理";
tnUserAdmin.NavigateUrl = "AdminUser.aspx";
tnRoleAdmin.Text = "角色管理";
tnRoleAdmin.NavigateUrl = "AdminRole.aspx";
tnPermissionAdmin.Text = "许可管理";
tnPermissionAdmin.NavigateUrl = "AdminPermission.aspx";

TreeNodeAdd(tnManager);
TreeNodeAdd(tnSecurity, tnManager);
TreeNodeAdd(tnUserAdmin, tnSecurity);
TreeNodeAdd(tnRoleAdmin, tnSecurity);
TreeNodeAdd(tnPermissionAdmin, tnSecurity);
tv.SelectedNodeIndex = "0.0";
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{    
this.Load += new System.EventHandler(this.Page_Load); }
#endregion
}
}