当前位置:编程学习 > asp >>

.net服务器控件使用总结之TreeView

使用TreeView控件有三种方式
 
方式一:在控件属性里面写死。
 
      应用场景:在数据一成不变的情况下,可以使用。实际项目中极少使用。
 
方式二:通过xml文件读取目录。
 
      应用场景:灵活,但是只适合有一个根节点的的目录,xml只能有一个根。
 
方式三:数据库中读取。
 
      应用场景:绝大多数都是这样用。
 
 
 
具体使用方式简介:
 
方式一使用方法如下:
 
        <asp:TreeView ID="SwitchBar" runat="server" >
          <Nodes>
              <asp:TreeNode Text="子节点" NavigateUrl="">
                <asp:TreeNode Text="子节点1-1" NavigateUrl="">
                </asp:TreeNode>
              </asp:TreeNode>
          </Nodes>
    </asp:TreeView>
 
方式二使用方法如下   
 
第一步,建立一个XML文件。
 
<?xml version="1.0" encoding="utf-8" ?>
<node title="父节点">
   <node1 title="子节点1" url="Default.aspx">
   <node11 title="子节点1-1" url="Default1.aspx"></node11>
   </node1>
</node>
 
第二步,新建XmlDataSource数据源,指定ID和DataFile。然后在视图模式下,编辑字段,绑定数据,NavigateUrlField和TextField记住这两个字段在(数据绑定)下
 
      最后生成的格式如下。
 
    <asp:TreeView ID="SwitchBar" runat="server" DataSourceID="xmlMenu">
        <DataBindings>
            <asp:TreeNodeBinding DataMember="node1"
                NavigateUrlField="url" TextField="title" />
            <asp:TreeNodeBinding DataMember="node11" NavigateUrlField="url" 
                TextField="title" />
        </DataBindings>
    </asp:TreeView>
    <asp:XmlDataSource ID="xmlMenu" runat="server" DataFile="~/xmlMenu.xml">
    </asp:XmlDataSource>
 
方式三使用方法如下
 
   而该方式下又有两种实现方式。
 
    1.在初次在加载页面时将所有菜单数据一次取出,添加到菜单。
 
    2.第一次只加载一级菜单,二级甚至三级菜单在点开的时候再加载,减少数据库的访问。
 
这里我简介第一种。
 
 
 
 第一步:得有数据库  一般有三个字段   (类别ID   类别名称  父类别ID)
 
 第二步:在加载页面的时候加载菜单。
 
     下面是具体操作控件属性的方法,具体怎么判断是不是子节点,是不是下一级节点,实现方法很多,这里就不累赘了。
 
            TreeNode node = new TreeNode();//建立一级子节点
            node.Text = "子节点";
            node.NavigateUrl = "url地址";
            TreeNode child = new TreeNode();//建立二级子节点
            child.Text = "子节点1-1";
            child.NavigateUrl = "url地址";
            node.ChildNodes.Add(child);//二级子节点添加到一级子节点下
            SwitchBar.Nodes.Add(node);//一级子节点添加到根节点下
 
        
 
 
 
  上面只是简单的实现了如何显示数据这个问题,其它诸如,如何更换图片,样式等等,有待自己继续研究。
补充:Web开发 , ASP.Net ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,