asp.net TreeView与XML三步生成列表树
发布时间:2024-06-05 09:32:31
刚我在做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:显示效果


猜你喜欢
- 前言PyCharm是一种Python 的IDE工具(集成开发环境),带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,内部
- 什么是浅克隆、深克隆浅克隆:直接将存储在栈中的值赋值给对应变量,如果是基本数据类型,则直接赋值对应的值,如果是引用类型,则赋值的是地址。深克
- 如何在页面中对不同的数据进行相同的处理?selectId.asp' 列出所有客户的客户名称<html><
- 本文实例讲述了Python使用sklearn实现的各种回归算法。分享给大家供大家参考,具体如下:使用sklearn做各种回归基本回归:线性、
- 指定的代码页特性无效。 codepage属性:是指出网页的代码页 如果制作的网页脚本与WEB服务端的默认代码页不同,则必须指明代码页: 代码
- 如下所示://定义编码 header( 'Content-Type:text/html;charset=utf-8 &#
- 有过相关经验的朋友都知道,Jscript的效率毕竟有限,在数组中查找数据时如果用常规的算法来做执行起来会很慢。例如在一个含500个字符串的d
- 在sql语句后使用 SCOPE_IDENTITY() 当然您也可以使用 SELECT @@IDENTITY 但是使用 SELECT @@ID
- 今天接到一个小需求,就是想在windows环境下,上传压缩文件到linux指定的目录位置并且解压出来,然后我想了一下,这个可以用python
- pyinstaller打包引入自己编写的库场景使用pyinstaller打包某个文件后,生成的exe文件无法运行,提示 Module not
- 运行方法: 1. 打开python2 IDLE; 2. 输入 fro
- 本文详细介绍了Windows下安装MySQL5.5.19的全过程,希望对初学者有帮助。下载mysql-5.5.19-win32.msi安装文
- while语句打印1-20的整数,并且每行打印五个数,为了实现每行5个数,我们使用一个if判断语句来实现,判断当打印出5个数之后,自动换行打
- 在 MySQL 中,可以使用 REVOKE 语句删除某个用户的某些权限(此用户不会被删除),在一定程度上可以保证系统的安全性。例如,如果数据
- python中列表的常见操作列表元组的简单操作前面我们已经学过了关于len()函数、赋值运算符及身份运算符的使用,下面简单回顾一下这些在列表
- 问题,在一个程序内构建好了一个图,运行完之后想重新使用这个图进行计算,或者想同时在train完的时候做test,就会提示***变量已存在。解
- 最近,找到了一种新的pycharm激活方法,支持Jetbrains全家桶,比如 idea、pychram、WebStorm等等,没得zhil
- 是不是很多人不用c#中的using和as操作符?甚至不知道? 其实这2个操作符在小处非常有用。 1、using&nb
- 本文实例讲述了Python操作word常见方法。分享给大家供大家参考,具体如下:这里介绍两种方式:使用win32com使用docx1. 使用
- string 对象 1、str.match(RegExp) 在str中搜索匹配RegExp的字符串并保存在一个数组内返回, 如果RegExp