首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

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

2013-10-19 
.net服务器控件使用总结之TreeView 使用TreeView控件有三种方式方式一:在控件属性里面写死。应用场景:在数

.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);//一级子节点添加到根节点下

        

 

  上面只是简单的实现了如何显示数据这个问题,其它诸如,如何更换图片,样式等等,有待自己继续研究。

热点排行