回复:看看自己是什么组
private int LinkNum = 0;
//private static int LinkNum = 0;全局继承
protected void Page_Load(object sender, EventArgs e)
{
try
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(Server.MapPath("../XML_Total/Admin_Menu.xml"));
BuildTree(xmlDoc.ChildNodes[1].ChildNodes, TreeMenu.Nodes);
}
catch
{
}
}
private void BuildTree(XmlNodeList XmlNodes, TreeNodeCollection treeNodes)
{
for (int i = 0; i < XmlNodes.Count; i++)
{
if (XmlNodes
.NodeType == XmlNodeType.Element)
{
TreeNode tNode = new TreeNode();
if (XmlNodes.Attributes.Count > 0)
{
if (User.IsInRole(XmlNodes.Attributes["Role"].Value))
{
if (XmlNodes.HasChildNodes)
{
tNode.Target = "_self";
tNode.NavigateUrl = "javascript:TreeView_ToggleNode(TreeMenu_Data," + LinkNum + ",TreeMenun" + LinkNum + ",' ',TreeMenun" + LinkNum + "Nodes)";
}
else
{
tNode.NavigateUrl = XmlNodes.Attributes["url"].Value;
tNode.Target = XmlNodes.Attributes["target"].Value;
}
tNode.Text = XmlNodes.Attributes["title"].Value;
LinkNum++;
treeNodes.Add(tNode);
}
}
if (XmlNodes.HasChildNodes)
{
BuildTree(XmlNodes.ChildNodes, tNode.ChildNodes);
}
}
}
}