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,而且需要放置于应用程序的根目录。
- <?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>
ASP.NET的面包屑导航控件、树形导航控件、菜单控件的更多相关文章
- ASP.NET MVC 在项目中使用面包屑导航
给框架添加一个面包屑导航 1.创建一个类 using System; using System.Collections.Generic; using System.Linq; using System ...
- .net验证控件,导航控件
一.客户端验证(用户体验,减少服务器端压力) 二.服务器端验证(防止恶意攻击,客户端js很容易被绕过) 验证控件:RequiredFieldValidator:字段必填:RangeValidator: ...
- amazeui学习笔记--css(常用组件2)--面包屑导航Breadcrumb
amazeui学习笔记--css(常用组件2)--面包屑导航Breadcrumb 一.总结 1.am-breadcrumb:用am-breadcrumb来声明面包屑导航控件,.am-breadcrum ...
- 夺命雷公狗ThinkPHP项目之----企业网站25之网站前台面包屑导航URL的完善
如果想取出面包屑导航的url那么就必须在model层里面进行多取一个了: <?php namespace Home\Model; use Think\Model; class CategoryM ...
- PHP.52-TP框架商城应用实例-前台4-商品详情页-面包屑导航、AJAX浏览历史
面包屑导航 思路:根据商品的主分类向上取出所有上级分类即可 1.在分类模型中增加取出所有上级分类的方法 /********** [面包屑导航]取出一个分类所有上级分类 **********/ pub ...
- 【完全开源】百度地图Web service API C#.NET版,带地图显示控件、导航控件、POI查找控件
目录 概述 功能 如何使用 参考帮助 概述 源代码主要包含三个项目,BMap.NET.BMap.NET.WindowsForm以及BMap.NET.WinformDemo. BMap.NET 对百度地 ...
- Bootstrap <基础十八>面包屑导航(Breadcrumbs)
面包屑导航(Breadcrumbs)是一种基于网站层次信息的显示方式.以博客为例,面包屑导航可以显示发布日期.类别或标签.它们表示当前页面在导航层次结构内的位置. Bootstrap 中的面包屑导航( ...
- 菜单导航/URHere/面包屑,通过CSS中的content简洁表达代码
比如我们要写一个菜单导航/URHere/面包屑,如: 首页 > 个人中心 > 修改密码 代码: <ul> <li><a href="javascri ...
- 缓存篇(Cache)~第一回 使用static静态成员实现服务器端缓存(导航面包屑)
返回目录 今天写缓存篇的第一篇文章,在写完目录后,得到了一些朋友的关注,这给我之后的写作带来了无穷的力量,在这里,感谢那几位伙伴,哈哈! 书归正传,今天我带来一个Static静态成员的缓存,其实它也不 ...
随机推荐
- UVa 11212 Editing a Book (IDA* && 状态空间搜索)
题意:你有一篇n(2≤n≤9)个自然段组成的文章,希望将它们排列成1,2,…,n.可以用Ctrl+X(剪切)和Ctrl+V(粘贴)快捷键来完成任务.每次可以剪切一段连续的自然段,粘贴时按照顺序粘贴.注 ...
- 2019hdu多校 Keen On Everything But Triangle
Problem Description N sticks are arranged in a row, and their lengths are a1,a2,...,aN. There are Q ...
- codevs 1255 搭积木 x
1255 搭积木 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 大师 Master 题目描述 Description 一种积木搭建方式,高为H的积木,最底层有M个积木,每一层的积木 ...
- tf.InteractiveSession() 和 tf.Session() 的区别
tf.InteractiveSession():它能让你在运行图的时候,插入一些计算图,这些计算图是由某些操作(operations)构成的.这对于工作在交互式环境中的人们来说非常便利,比如使用IPy ...
- djangle中模板系统的使用
django相关的命令行命令: 创建一个djaongo的应用:在已经创建号的应用文件夹中运行:django-admin.py startproject projectName 开启系统自带的服务器在网 ...
- python相关遗漏知识点补充
python中的相关帮助命令 假设s是一个字符串, 那么dir(s)可以列出字符串对象的所有属性(方法也是函数属性),其中有下划线的部分与类重 载有关,用来表示python实现细节,没有下划线的属性是 ...
- 配置Nginx和Apache允许指定域名CORS跨域访问
前后端分离开发,导致前端项目需要跨域请求后端接口,解决方法有很多,本文只介绍两个: 1. 修改后端程序代码实现允许跨域请求 2. 修改服务器配置文件实现允许跨域请求 正文: 方法1:修改后端程序代码实 ...
- 关于MySQL 中 EXISTS 的用法
在MySQL中 EXISTS 和 IN 的用法有什么关系和区别呢? 假定数据库中有两个表 分别为 表 a 和表 b create table a ( a_id int, a_name varchar( ...
- 硬件-硬盘-SSD(固态硬盘):百科
ylbtech-硬件-硬盘-SSD(固态硬盘):百科 固态驱动器(Solid State Disk或Solid State Drive,简称SSD),俗称固态硬盘,固态硬盘是用固态电子存储芯片阵列而制 ...
- 用例a失败,跳过测试用例b和c并标记失败xfail
前言 当用例a失败的时候,如果用例b和用例c都是依赖于第一个用例的结果,那可以直接跳过用例b和c的测试,直接给他标记失败xfail用到的场景,登录是第一个用例,登录之后的操作b是第二个用例,登录之后操 ...