asp.net TreeView与XML三步生成列表树

刚我在做Tree view 绑定时自己摸索了一下,网上有人说TreeView绑定数据源,用什么递归绑定啥的,我不想看了,就自己试着写了一个
我是这样做的,如果有什么问题请大神指导,我是菜鸟额..
1:页面TreeView 叫tvFunction
2:新建 adminFunction.xml


代码如下:

<?xml version="1.0" encoding="utf-8" ?>
<functions>
  <function name="商品发布" url="~/page/leaves/leave.aspx">
    <subfunction name="添加商品" url="~/page/leaves/leave.aspx">
    </subfunction>
    <subfunction name="添加商品" url="~/page/leaves/leave.aspx">
    </subfunction>
  </function>
  <function name="留言发布" url="~/page/leaves/leave.aspx">
    <subfunction name="添加留言" url="~/page/leaves/leave.aspx">
    </subfunction>
    <subfunction name="修改留言" url="~/page/leaves/leave.aspx">
    </subfunction>
  </function>
</functions>

3:页面绑定


代码如下:

/// <summary>
        /// 初始化功能树结构
        /// </summary>
        private void InitFunction()
        {
            XmlDocument xmldoc = new XmlDocument();
            string xmlPath = "~/adminFunction.xml";
            xmlPath = Server.MapPath(xmlPath);
            xmldoc.Load(xmlPath);
            XmlNode root = xmldoc.DocumentElement;

foreach (XmlNode node in root.ChildNodes)
            {
                //获取父节点的信息显示(轻狂-书生)
                XmlElement x1 = node as XmlElement;
                string name = x1.GetAttribute("name");
                string url = x1.GetAttribute("url");
                TreeNode tn = new TreeNode();
                tn.Text = name;
                tn.NavigateUrl = url;
                foreach (XmlNode subnode in x1.ChildNodes)
                {
                    XmlElement subxmlEmt = subnode as XmlElement;
                    string subname = subxmlEmt.GetAttribute("name");
                    string suburl = subxmlEmt.GetAttribute("url");
                    TreeNode subtn = new TreeNode();
                    subtn.Text = subname;
                    subtn.NavigateUrl = suburl;
                    tn.ChildNodes.Add(subtn);

}
                tvFunction.Nodes.Add(tn);

}
        }

4:显示效果

(0)

相关推荐

  • ASP.NET递归法求阶乘解决思路

    前台: 复制代码 代码如下: <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> !<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="=" /> <asp:TextBox ID="Tex

  • asp.net TreeView递归循环子节点生成树形菜单实例

    本文实例讲述了asp.net TreeView递归循环子节点生成树形菜单的方法.分享给大家供大家参考,具体如下: 这里主要用到递归循环获取子结点 /// <summary> /// 生成根节点 /// </summary> /// <param name="treeview"></param> protected void BindTreeView(long ID, TreeView treeview) { DataTable dt =

  • asp.net 获取指定文件夹下所有子目录及文件(树形)

    #region 获取指定文件夹下所有子目录及文件(树形)         /****************************************          * 函数名称:GetFoldAll(string Path)          * 功能说明:获取指定文件夹下所有子目录及文件(树形)          * 参    数:Path:详细路径          * 调用示列:          *           string strDirlist = Server.M

  • Jquery.TreeView结合ASP.Net和数据库生成菜单导航条

    下面的例子将结合项目实际运用来使用Jquery.TreeView,当然在使用控件树需要现在相应的js文件 下面就把我生成的TreeView展现给大家看看希望对大家有所帮助!在使用之前需要下载控件树的js文件和Css样式 介绍一下表结构 M_ID M_Name M_ParentID M_URL M_Sort 然后新建一个网站,在新建的网站下添加CSS文件夹和js文件夹分别用于存放Css样式和JS,同时再添加一个image文件夹用于存放TreeView的图片 接着我们就开始实现我们的功能了! 前台代

  • asp.net实现DropDownList,TreeView,ListBox的无限极分类目录树

    本文实例讲述了asp.net实现DropDownList,TreeView,ListBox的无限极分类目录树.分享给大家供大家参考,具体如下: #region DropDownList无限递归显示层次关系 /// <summary> /// 创建无限分级下拉列表框 /// </summary> /// <param name="ddlst">下拉控件</param> /// <param name="dt">

  • asp.net实现递归方法取出菜单并显示在DropDownList中(分栏形式)

    本文实例讲述了asp.net实现递归方法取出菜单并显示在DropDownList中的方法.分享给大家供大家参考,具体如下: 树形栏目展示以DropDownList的形式显示出来. protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { DataTable table = bllSite.GetChannelNames(CurrentUser.ParkID); BindChannelType(table,

  • 递归输出ASP.NET页面所有控件的类型和ID的代码

    写一个方法: 复制代码 代码如下: private void DisplayAllControl(Control control, int step) { foreach (Control ctl in control.Controls) { string s = new string('-', step * 4) + ctl.GetType().Name + "〈" + ctl.ID + "〉"; Response.Write(s + "<br/&

  • Asp.net treeview实现无限级树实现代码

    先看看效果图: 先看看数据库表的设计,数据表主要包括ID,Name,ParentID这三项,其中ID是主键,ParentID对应节点的父节点: 方法一:用递归遍历数据,并将节点逐个添加到treeview中去. 1.先进行数据库连接和数据的读取,并将根节点先添加进treeview中,并利用递归getTreeView()实现数据的遍历和添加: 复制代码 代码如下: protected void Page_Load(object sender, EventArgs e) { if (!Page.IsP

  • ASP.NET生成树形显示的GridView实现思路

    目的:生成树形结构的表格数据(EasyUI也有TreeGrid,此处只是提供一个思路),可以扩展单击展开/收缩节点 图例: 类代码: 复制代码 代码如下: using System; using System.Data; /// <summary> ///GridViewHelper 的摘要说明 /// </summary> public class GridViewHelper { private string gridline; //连接线 private DataTable

  • 常用的在数据库中建立无限级树形菜单的asp.net代码

    复制代码 代码如下: private DataTable GetTable(int topid) { DataTable dt = null; try { string constr = "server=.;database=tqnpc;uid=sa;pwd=sa"; string selstr = "select * from RW_工作关系 where main_id=" + topid + ""; SqlConnection con = n

随机推荐