.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);//一级子节点添加到根节点下
上面只是简单的实现了如何显示数据这个问题,其它诸如,如何更换图片,样式等等,有待自己继续研究。