原文: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>

ASP.NET的面包屑导航控件、树形导航控件、菜单控件的更多相关文章

  1. ASP.NET MVC 在项目中使用面包屑导航

    给框架添加一个面包屑导航 1.创建一个类 using System; using System.Collections.Generic; using System.Linq; using System ...

  2. .net验证控件,导航控件

    一.客户端验证(用户体验,减少服务器端压力) 二.服务器端验证(防止恶意攻击,客户端js很容易被绕过) 验证控件:RequiredFieldValidator:字段必填:RangeValidator: ...

  3. amazeui学习笔记--css(常用组件2)--面包屑导航Breadcrumb

    amazeui学习笔记--css(常用组件2)--面包屑导航Breadcrumb 一.总结 1.am-breadcrumb:用am-breadcrumb来声明面包屑导航控件,.am-breadcrum ...

  4. 夺命雷公狗ThinkPHP项目之----企业网站25之网站前台面包屑导航URL的完善

    如果想取出面包屑导航的url那么就必须在model层里面进行多取一个了: <?php namespace Home\Model; use Think\Model; class CategoryM ...

  5. PHP.52-TP框架商城应用实例-前台4-商品详情页-面包屑导航、AJAX浏览历史

    面包屑导航  思路:根据商品的主分类向上取出所有上级分类即可 1.在分类模型中增加取出所有上级分类的方法 /********** [面包屑导航]取出一个分类所有上级分类 **********/ pub ...

  6. 【完全开源】百度地图Web service API C#.NET版,带地图显示控件、导航控件、POI查找控件

    目录 概述 功能 如何使用 参考帮助 概述 源代码主要包含三个项目,BMap.NET.BMap.NET.WindowsForm以及BMap.NET.WinformDemo. BMap.NET 对百度地 ...

  7. Bootstrap <基础十八>面包屑导航(Breadcrumbs)

    面包屑导航(Breadcrumbs)是一种基于网站层次信息的显示方式.以博客为例,面包屑导航可以显示发布日期.类别或标签.它们表示当前页面在导航层次结构内的位置. Bootstrap 中的面包屑导航( ...

  8. 菜单导航/URHere/面包屑,通过CSS中的content简洁表达代码

    比如我们要写一个菜单导航/URHere/面包屑,如: 首页 > 个人中心 > 修改密码 代码: <ul> <li><a href="javascri ...

  9. 缓存篇(Cache)~第一回 使用static静态成员实现服务器端缓存(导航面包屑)

    返回目录 今天写缓存篇的第一篇文章,在写完目录后,得到了一些朋友的关注,这给我之后的写作带来了无穷的力量,在这里,感谢那几位伙伴,哈哈! 书归正传,今天我带来一个Static静态成员的缓存,其实它也不 ...

随机推荐

  1. 那些10w+的公众号都在写什么?

    出于好奇,那些10w+的公众号都写了些什么,于是我写了几个脚本爬取了各行业Top的公众号文章,进行了关键词统计. 抓取数据.分析用到了3中语言:Node.js,Java,Python.废话不多说,直接 ...

  2. pycharm问题集锦

    1.pycharm的激活方式 参考博客https://blog.csdn.net/u014044812/article/details/78727496 2.总是出现波浪线,如下问题 问题原因:knn ...

  3. 算法设计与分析 1.2 不一样的fibonacci数列 (矩阵快速幂思想)

    题目描述 Winder 最近在学习 fibonacci 数列的相关知识.我们都知道 fibonacci 数列的递推公式是F(n) = F(n - 1) + F(n - 2)(n >= 2 且 n ...

  4. 织梦DedeCms技术资料

    Dedecms调用文章发布时间的方法 11-20 样式 ([field:pubdate function='strftime("%m-%d",@me)'/]) May 15, 20 ...

  5. (45)FreeRTOS学习之二

    一:架构概述 FreeRTOS是一个相对较小的应用程序.最小化的FreeRTOS内核仅包括3个(.c)文件和少数头文件,总共不到9000行代码,还包括了注释和空行.一个典型的编译后(二进制)代码映像小 ...

  6. 通过ecplise导入mysql的jar包时,右键找不到build path问题

    当我们执行java连接数据库程序的时候,我们需要再我们的项目里导入mysql的jar包,这时,我们需要右键->build path进行导入,但是有时候我们右键的时候并没有出现build path ...

  7. css中如何使用border属性与display属性

    border属性介绍 border属性设置元素边框. 边框3个要素如:粗细.线型.颜色. 边框线型属性值说明表如: 属性指 描述 none 定义无边框. hidden 与 "none&quo ...

  8. springMVC @response 中文乱码解决

    以下任选一种 在web.xml中: 添加一个过滤器(filter),注册 org.springframework.web.filter.CharacterEncodingFilter <filt ...

  9. 20175221曾祥杰 实验四《Android程序设计》

    实验四<Android程序设计> 实验报告封面 课程:Java程序设计 班级:1752班 姓名:曾祥杰 学号:20175221 指导教师:娄嘉鹏 实验日期:2019年5月13日 实验时间: ...

  10. mysql 全量备份以及增量备份

    MySQL 的全量备份很简单,增量备份虽然会手动使用但是还没写过脚本去实现增量备份.今天搞一搞,顺便回忆一下MySQL的基本操作.