ASP.NET的面包屑导航控件、树形导航控件、菜单控件

原文:http://blog.csdn.net/pan_junbiao/article/details/8579293

ASP.NET的面包屑导航控件、树形导航控件、菜单控件。

1、 面包屑导航控件——SiteMapPath控件

SiteMapPath控件可以为站点提供“面包屑导航”的功能。

1.1 创建站点地图文件Web.sitemap

在ASP.Net中,有一个叫站点地图的XML文件。站点地图的文件名必须是Web.sitemap,而且需要放置于应用程序的根目录。

 

  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0">
  3. <siteMapNode url="" title="人力资源管理" description="">
  4. <siteMapNode url="" title="员工管理" description="">
  5. <siteMapNode url="/Manager/UserList.aspx" title="员工列表" description="" />
  6. <siteMapNode url="/Manager/AddUser.aspx" title="新增员工" description="" />
  7. </siteMapNode>
  8. <siteMapNode url="" title="部门管理" description="">
  9. <siteMapNode url="/Manager/DepartmentList.aspx" title="部门列表" description="" />
  10. <siteMapNode url="/Manager/AddDepartment.aspx" title="新增部门" description="" />
  11. </siteMapNode>
  12. </siteMapNode>
  13. </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控件

 

  1. <asp:SiteMapPath ID="SiteMapPath1" runat="server">
  2. </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的数据源

 

  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <siteMapNode url="" title="人力资源管理" description="">
  3. <siteMapNode url="" title="员工管理" description="">
  4. <siteMapNode url="/Manager/UserList.aspx" title="员工列表" description="" />
  5. <siteMapNode url="/Manager/AddUser.aspx" title="新增员工" description="" />
  6. </siteMapNode>
  7. <siteMapNode url="" title="部门管理" description="">
  8. <siteMapNode url="/Manager/DepartmentList.aspx" title="部门列表" description="" />
  9. <siteMapNode url="/Manager/AddDepartment.aspx" title="新增部门" description="" />
  10. </siteMapNode>
  11. </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控件与绑定数据源

 

  1. <asp:TreeView ID="TreeView1" runat="server" DataSourceID="XmlDataSource1" ShowLines="True">
  2. <DataBindings>
  3. <asp:TreeNodeBinding DataMember="siteMapNode" NavigateUrlField="url" TextField="title" />
  4. </DataBindings>
  5. </asp:TreeView>
  6. <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控件与绑定数据源。

 

  1. <asp:Menu ID="Menu1" runat="server" DataSourceID="XmlDataSource2" Orientation="Horizontal">
  2. <DataBindings>
  3. <asp:MenuItemBinding DataMember="siteMapNode" NavigateUrlField="url"
  4. TextField="title" />
  5. </DataBindings>
  6. </asp:Menu>
  7. <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>
posted @ 2017-02-10 15:14  清空回声  阅读(3346)  评论(0编辑  收藏  举报