2 develop zw develop_zw 于 2014.10.04 21:49 提问

treeview读取xml做导航菜单不能跳转到mainframe框架中去

index.aspx页

tree.aspx页




/asp:TreeView

tree.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
string path = @"e:\s2\tree.xml";
if (!IsPostBack)
{
InitialTreeView(this.TreeView1.Nodes, path);
}
}
private void InitialTreeView(TreeNodeCollection nodes, string fileName)
{
try
{
XmlDocument doc = new XmlDocument();
doc.Load(fileName);
TreeNode parentNode = new TreeNode();
        // parentNode.Text = doc.DocumentElement.Name; 虽热获得了根节点但并不显示
        foreach (XmlNode node in doc.DocumentElement.ChildNodes)
        {
            XmlElement xe = node as XmlElement;
            TreeNode newNode = new TreeNode();
            foreach (XmlAttribute attr in xe.Attributes)
            {
                //newNode.Text = attr.Value;
                newNode.Text = xe.Attributes[0].Value;//在treeview控件中显示找到的xml元素节点的第一个属性Attributes[0]
                newNode.NavigateUrl = xe.Attributes[1].Value;

                //添加导航

            }
            //调用递归函数
            SearchXmlDoc(node, newNode);
            //添加子节点
            //parentNode.ChildNodes.Add(newNode);
            //将二级节点作为根节点添加到treeview控件中去
            TreeView1.Nodes.Add(newNode);
        }
        nodes.Add(parentNode);
    }
    catch (Exception ex)
    {
        Response.Write(ex.ToString());
    }
}
/// 递归遍历xml,为treeview绑定数据
private static void SearchXmlDoc(XmlNode xmlNode, TreeNode treeNode)
{
    if (xmlNode.ChildNodes.Count == 0)
    {
        return;
    }
    else
    {
        foreach (XmlNode node in xmlNode.ChildNodes)
        {
            try
            {
                if (node.NodeType == XmlNodeType.Element)
                {
                    //string value = node.InnerText;显示xml中<>之中的内容<>
                    string value = node.Attributes[0].Value;
                    TreeNode newNode = new TreeNode();
                    newNode.Text = value;
                    newNode.NavigateUrl = node.Attributes[1].Value;
                    newNode.SelectAction = TreeNodeSelectAction.Select;
                    newNode.Target=node.Attributes[2].Value;
                    SearchXmlDoc(node, newNode);
                    treeNode.ChildNodes.Add(newNode);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
            }
        }
    }
}

tree.xml
<?xml version="1.0" encoding="utf-8" ?>

<TreeNode Text="报修管理" NavigateUrl="" Target="mainframe">

    <TreeNode Text="查看报修申请" NavigateUrl="Default2.aspx" Target="mainframe"/>

    <TreeNode Text="审批报修" NavigateUrl="Default2.aspx" Target="mainframe"/>

<TreeNode Text="学科带头人管理" NavigateUrl="emputy.aspx" Target="mainframe"/>
</TreeNode>

<TreeNode Text="个人工作安排" NavigateUrl="" Target="mainframe">

<TreeNode Text="查看工作安排" NavigateUrl="Default2.aspx" Target="mainframe"/>

<TreeNode Text="添加工作日程" NavigateUrl="kxyjmanage.aspx" Target="mainframe"/>
<TreeNode Text="修改工作日程" NavigateUrl="yjfxmanange.aspx" Target="mainframe"/>
<TreeNode Text="删除工作日程" NavigateUrl="hdzzyjxmanage.aspx" Target="mainframe"/>

<TreeNode Text="查看公文" NavigateUrl="topmenu.aspx" Target="mainframe"/>

<TreeNode Text="发送公文" NavigateUrl="childmenu.aspx" Target="mainframe"/>

<TreeNode Text="资源中心管理" NavigateUrl="childmenu.aspx" Target="mainframe"/>

<TreeNode Text="用户管理" NavigateUrl="" Target="mainframe">

    <TreeNode Text="用户管理" NavigateUrl="usermanage.aspx"/>

    <TreeNode Text="用户权限" NavigateUrl="powermanage.aspx"/>

<TreeNode Text="密码修改" NavigateUrl="modpass.aspx"/>

</TreeNode>

<TreeNode Text="注销" NavigateUrl="Sessionvalidate.aspx"/>
<TreeNode Text="退出" NavigateUrl="exit.aspx"/>

就是不能在mainframe框架中加载,小弟初学忘高手指点一二,希望能帮我改改。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!