原文:http://blog.csdn.net/pan_junbiao/article/details/8579293
ASP.NET的面包屑导航控件、树形导航控件、菜单控件。
1、 面包屑导航控件——SiteMapPath控件
SiteMapPath控件可以为站点提供“面包屑导航”的功能。
1.1 创建站点地图文件Web.sitemap
在ASP.Net中,有一个叫站点地图的XML文件。站点地图的文件名必须是Web.sitemap,而且需要放置于应用程序的根目录。
- <?xml version="1.0" encoding="utf-8" ?>
- <siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0">
- <siteMapNode url="" title="人力资源管理" description="">
- <siteMapNode url="" title="员工管理" description="">
- <siteMapNode url="/Manager/UserList.aspx" title="员工列表" description="" />
- <siteMapNode url="/Manager/AddUser.aspx" title="新增员工" description="" />
- </siteMapNode>
- <siteMapNode url="" title="部门管理" description="">
- <siteMapNode url="/Manager/DepartmentList.aspx" title="部门列表" description="" />
- <siteMapNode url="/Manager/AddDepartment.aspx" title="新增部门" description="" />
- </siteMapNode>
- </siteMapNode>
- </siteMap>
<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0">
<siteMapNode url="" title="人力资源管理" description="">
<siteMapNode url="" title="员工管理" description="">
<siteMapNode url="/Manager/UserList.aspx" title="员工列表" description="" />
<siteMapNode url="/Manager/AddUser.aspx" title="新增员工" description="" />
</siteMapNode>
<siteMapNode url="" title="部门管理" description="">
<siteMapNode url="/Manager/DepartmentList.aspx" title="部门列表" description="" />
<siteMapNode url="/Manager/AddDepartment.aspx" title="新增部门" description="" />
</siteMapNode>
</siteMapNode>
</siteMap>
节点描述如下:
siteMap:根节点,一个站点地图只能有一个siteMap元素。
siteMapNode:对应于页面的节点,一个节点描述一个页面。
title:描述页面。
url:文件在解决方案中的位置。
description:说明性文本。
编写站点地图的注意事项如下:
1、站点地图根节点为<siteMap>元素,每个文件有且仅有一个根节点。
2、<siteMap>下一级有且仅有一个<siteMapNode>节点。
3、<siteMapNode>下面包含多个新的<siteMapNode>节点。
4、在站点地图中,同一个URL仅能出现一次。
1.2 页面中编写SiteMapPath控件
- <asp:SiteMapPath ID="SiteMapPath1" runat="server">
- </asp:SiteMapPath>
<asp:SiteMapPath ID="SiteMapPath1" runat="server">
</asp:SiteMapPath>
SiteMapPath控件的常用属性
PathSeparator:控制分隔符。可以通过编辑模板更改分隔符为任意样式,比如为图片。
ParentLevelsDisplayed:要显示的父节点的级数,用于控制导航显示的级数。
2、 树形导航——TreeView控件
ASP.NET中有TreeView导航控件,可以像SiteMapPath那样设置一下XML文件即可显示强大的导航。
2.1 编写XML文件——ManagerMenu.xml
也可以采用站点地图Web.sitemap作为TreeView的数据源
- <?xml version="1.0" encoding="utf-8" ?>
- <siteMapNode url="" title="人力资源管理" description="">
- <siteMapNode url="" title="员工管理" description="">
- <siteMapNode url="/Manager/UserList.aspx" title="员工列表" description="" />
- <siteMapNode url="/Manager/AddUser.aspx" title="新增员工" description="" />
- </siteMapNode>
- <siteMapNode url="" title="部门管理" description="">
- <siteMapNode url="/Manager/DepartmentList.aspx" title="部门列表" description="" />
- <siteMapNode url="/Manager/AddDepartment.aspx" title="新增部门" description="" />
- </siteMapNode>
- </siteMapNode>
<?xml version="1.0" encoding="utf-8" ?>
<siteMapNode url="" title="人力资源管理" description="">
<siteMapNode url="" title="员工管理" description="">
<siteMapNode url="/Manager/UserList.aspx" title="员工列表" description="" />
<siteMapNode url="/Manager/AddUser.aspx" title="新增员工" description="" />
</siteMapNode>
<siteMapNode url="" title="部门管理" description="">
<siteMapNode url="/Manager/DepartmentList.aspx" title="部门列表" description="" />
<siteMapNode url="/Manager/AddDepartment.aspx" title="新增部门" description="" />
</siteMapNode>
</siteMapNode>
2.2 页面中编写TreeView控件与绑定数据源
- <asp:TreeView ID="TreeView1" runat="server" DataSourceID="XmlDataSource1" ShowLines="True">
- <DataBindings>
- <asp:TreeNodeBinding DataMember="siteMapNode" NavigateUrlField="url" TextField="title" />
- </DataBindings>
- </asp:TreeView>
- <asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="~/Manager/ManagerMenu.xml"></asp:XmlDataSource>
<asp:TreeView ID="TreeView1" runat="server" DataSourceID="XmlDataSource1" ShowLines="True">
<DataBindings>
<asp:TreeNodeBinding DataMember="siteMapNode" NavigateUrlField="url" TextField="title" />
</DataBindings>
</asp:TreeView>
<asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="~/Manager/ManagerMenu.xml"></asp:XmlDataSource>
TreeView数据绑定的常用属性
TextField:设置显示的文字所绑定的字段或元素。
NavigateUrlField:设置链接对应的字段或元素值。
3、 菜单控件——Menu控件
ASP.NET中Menu控件,它提供一种动态和静态结合的方式进行菜单的显示。
3.1 页面中编写Menu控件与绑定数据源。
- <asp:Menu ID="Menu1" runat="server" DataSourceID="XmlDataSource2" Orientation="Horizontal">
- <DataBindings>
- <asp:MenuItemBinding DataMember="siteMapNode" NavigateUrlField="url"
- TextField="title" />
- </DataBindings>
- </asp:Menu>
- <asp:XmlDataSource ID="XmlDataSource2" runat="server" DataFile="~/Manager/ManagerMenu.xml"></asp:XmlDataSource>
<asp:Menu ID="Menu1" runat="server" DataSourceID="XmlDataSource2" Orientation="Horizontal">
<DataBindings>
<asp:MenuItemBinding DataMember="siteMapNode" NavigateUrlField="url"
TextField="title" />
</DataBindings>
</asp:Menu>
<asp:XmlDataSource ID="XmlDataSource2" runat="server" DataFile="~/Manager/ManagerMenu.xml"></asp:XmlDataSource>