刚我在做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:显示效果
感觉效果还行,请问我这样做好么?有什么更好的方式么?请指教,谢谢了..