develop_zw 2014-10-04 13:49
浏览 752

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框架中加载,小弟初学忘高手指点一二,希望能帮我改改。

  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥15 求差集那个函数有问题,有无佬可以解决
    • ¥15 【提问】基于Invest的水源涵养
    • ¥20 微信网友居然可以通过vx号找到我绑的手机号
    • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
    • ¥15 解riccati方程组
    • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
    • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
    • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
    • ¥50 树莓派安卓APK系统签名
    • ¥65 汇编语言除法溢出问题