1、第 10章 站点导航和母版页10.1 ASP.NET数据库网站设计教程( C#版) 配套教学资源本章内容: ASP.NET站点导航, ASP.NET母版页。本章重点: ASP.NET站点导航( SiteMapPath控件、 SiteMapDataSource控件、 TreeView控件、 Menu控件), ASP.NET母版页。n 10.1.1 概述n ASP.NET站点导航控件能够将所有页面的链接存储在一个站点地图数据文件中,该文件是一个 XML文件,通过读取站点信息的 SiteMapDataSource控件以及用于显示站点信息的导航 Web服务器控件(如 TreeView、 Menu、 S
2、iteMapPath控件),在每个页面上的列表或导航菜单中呈现这些链接。如图 10-1所示是采用 ASP.NET实现的站点导航。10.1 ASP.NET站点导航n 1站点地图文件n 通过 ASP.NET站点导航,可以按层次结构描述站点的布局。如图 10-1所示页面左侧的 “后台管理 ”栏,其包含 11个页(具体见演练 10-1的站点地图文件 Web.sitmap中的内容)。n 要使用站点导航,先要创建一个站点地图或站点的表示形式,一般用 XML文件描述站点的层次结构,也可以把站点地图嵌入 Web窗体中。在创建站点地图后,可以使用站点导航控件在 ASP.NET页上显示导航结构。n 2站点导航控件
3、n 创建一个反映站点结构的站点地图只完成了 ASP.NET站点导航系统的一部分功能。导航系统还应在 ASP.NET网页中显示导航结构,这样用户就可以在站点内轻松地移动。使用以下 ASP.NET站点导航控件,可以轻松地在页面中建立导航信息。n TreeView:此控件显示一个树状结构或菜单,让用户可以遍历访问站点中的不同页面。单击包含子节点的节点可将其展开或折叠。n Menu:此控件显示一个可展开的菜单,让用户可以遍历访问站点中的不同页面。将鼠标指针悬停在菜单上时,将展开包含子节点的节点。n SiteMapPath:此控件显示导航路径,向用户展示当前页面的位置,并以链接的形式显示返回主页的路径。
4、此控件提供了许多可供自定义链接的外观的选项。n 10.1.2 ASP.NET站点地图n 1 Web.sitemap文件n 创建站点地图最简单方法是创建一个名为 Web.sitemap的XML文件,该文件按站点的分层形式组织页面。 ASP.NET的默认站点地图提供程序自动选取此站点地图。n 尽管 Web.sitemap文件可以引用其他站点地图提供程序或其他目录中的其他站点地图文件以及同一应用程序中的其他站点地图文件,但该文件必须位于应用程序的根目录中。n Web.sitemap文件的格式如下:n n n n n n n n n n n n n 说明如下。n siteMapNode表示分层的站点地
5、图结构中的一个节点,也是站点地图结构中的一个页面。如果其中包含子节点,则采用 的形式;如果不包含节点,则采用 的形式。 siteMapNode类包含几个用于描述网站中单个页的属性:n url属性用于设置 siteMapNode对象所代表的页的 URL。n title属性用于设置 siteMapNode对象的标题,即导航控件使用 title属性来呈现节点的标签。n description属性用于设置 siteMapNode的描述,即 description被用作鼠标指针移过控件时的提示。n 【演练 10-1】 下面代码是如图 10-1所示页面左侧的 “后台管理 ”栏的站点地图文件 Web.sitemap的内容,其中包含一组三层嵌套共 11个页的 siteMapNode元素,并且每个元素的结构都相同,它们之间唯一的区别是它们在 XML层次结构中的位置不同。n 【演练 10-1】 代码n 2有效站点地图文件n 有效站点地图文件只包含一个直接位于 siteMap元素下方的siteMapNode元素,但第一级 siteMapNode元素可以包含任意数量的子 siteMapNode元素。此外,尽管 url属性可以为空,但有效站点地图文件中不能有重复的 URL。 ASP.NET默认站点地图提供程序以外的提供程序可能没有这种限制。可以使用多个站点地图文件来描述整个网站的导航结构。