protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
InitTree();
}
}
/// <summary>
/// 初始化树
/// </summary>
private void InitTree()
{
//TreeViewGroup.Nodes.Clear();
MakeDepTree();
}
/// <summary>
/// 从顶级资源开始生成树
/// </summary>
private void MakeDepTree()
{
//Top node
TreeNode top = new TreeNode();
top.SelectAction = TreeNodeSelectAction.None;
//top.Text =
//top.Value = "0";
AuthorizeObject ao = new AuthorizeObject();
ao.ParentAuthorizeObjectNo = "0";
ao.AuthorizeObjectNo = "1";
ao.AuthorizeObjectName = "深圳联通";
//ISession session = SessionFactory.OpenSession();
//AuthorizeObject authObject = (AuthorizeObject)session.GetObject(ao);
//TreeViewRole.Nodes.Add(top);
TreeViewRole.Nodes.Add(top);
AddDept(ao , TreeViewRole.Nodes[0]);
}
//递归调用以填充TreeView
private void AddDept(AuthorizeObject ao, TreeNode tn)
{
//获得下级子授权对象列表
IList lst = RmsProxy.GetAllChildAuthorizeObject(ao);
foreach (AuthorizeObject aoo in lst)
{
TreeNode treeNode = new TreeNode();
tn.ChildNodes.Add(treeNode);
AddDept(aoo, treeNode);
}
string html = "<span style=/"Font-Size='8pt';ForeColor='Black';HorizontalPadding='5px'; NodeSpacing='0px';VerticalPadding='0px';/">";
html += "<a href=/"javascript:sendData('" + ao.AuthorizeObjectNo + "','" + ao.AuthorizeObjectName + "');/"" + " oncontextmenu=/"showMenu('";
html +=ao.AuthorizeObjectNo + "');return false;/"" + ">" + ao.AuthorizeObjectName + "</a>";
html += "</span>";
tn.SelectAction = TreeNodeSelectAction.None;
tn.Text = html;
tn.Value = ao.AuthorizeObjectNo;
}
本文介绍了一个ASP.NET应用程序中树形视图的构建过程,包括初始化树形视图及通过递归方法填充节点的具体实现。展示了如何使用AuthorizeObject对象来构建组织结构树,并详细解释了每个步骤。
1252

被折叠的 条评论
为什么被折叠?



