1、第九章第九章站点导航技术2本章目标q掌握各种网页导航方法q熟练使用站点导航控件3页面导航技术 q超链接 LinkBotton服务器控件HyperLink服务器控件q页面重定向Response.Redirect Server.Transfer Server.Execute 4ASP.NET站点导航概述 q每个站点都需要一致的导航解决方案,以帮助用户在不同的页面之间进行跳转。q传统的解决方案:q使用超链接标记:缺点是需要大量的手工编码和维护。q使用服务器控件(如HyperLink、LinkButton):缺点是需要手工编码。q使用编程方法:缺点是增加了程序开发的复杂性。5站点导航系统导航方式导航方
2、式硬编码到硬编码到页面文件页面文件包含文件包含文件用户控件用户控件ASP.NET站点导航系统站点导航系统在页面散在页面散布超链接布超链接编写困难编写困难修改复杂修改复杂不易维护不易维护在每个页面上在每个页面上进行编写进行编写包含一个文件包含一个文件用户自己编写用户自己编写控件实现控件实现基于站点地图基于站点地图6ASP.NET站点导航 qASP.NET 站点导航功能为用户导航站点提供一致的方法。qASP.NET站点导航将页面的链接存储在一个站点地图中,并使用特定Web服务器导航控件在每页上显示导航菜单。7 SiteMap系统架构数据提供者数据提供者System.Web.XmlSiteMapPr
3、oviderWeb.sitemap继承继承SiteMapPath控件控件System.Web.SiteMapProvidersSite mapAPIs的使用的使用SiteMapNode的集合的集合绑定绑定SiteMapDataSourceMenu控件控件TreeView控件控件ASP.NET中的中的导航控件导航控件8站点地图q站点地图是对站点结构的XML描述q文件名为Web.sitemap 根节点,一个站点地图只能有根节点,一个站点地图只能有一个一个siteMap元素元素 对应于页面的节点对应于页面的节点一个节点描述一个页面一个节点描述一个页面提供链接的文本描述提供链接的文本描述文件在解决方案
4、中的位置文件在解决方案中的位置注意:如果要表示根目录,注意:如果要表示根目录,需要用需要用“/”说明性文本说明性文本并提供光标停留时并提供光标停留时显示的内容显示的内容9Web.sitemap注意事项q注意事项站点地图文件Web.sitemap通常位于应用程序的根目录。站点地图根节点为元素,每个文件有且仅有一个根节点。下一级有且仅有一个节点。下面可以包含多个新的 节点,以创建层次结构。站点地图中,同一个URL仅能出现一次,通常包含Url、Title和Description属性。10站点地图文件 11站点导航服务器控件 q 使用站点导航服务器控件,通过绑定控件到站点地图数据源,可以动态读取站点地
5、图中的导航信息,在Web页面上生成导航超链接。q ASP.NET提供的站点导航服务器控件包括:SiteMapPath:显示一些链接的列表,这些链接表示用户的当前页以及返回至网站根目录的层次路径。TreeView:提供树状结构导航超链接。允许用户展开或折叠选定节点。Menu:提供菜单式导航超链接。将光标悬停在菜单上时,将展开包含子节点的节点。12SiteMapPath控件qSiteMapPath控件用于指示当前显示的页在站点中位置的引用点。q通过读取站点地图所提供的数据,显示一些链接的列表,这些链接表示用户的当前页以及返回至网站根目录的层次路径。13SiteMapPath控件q指示页面在站点的逻
6、辑位置的导航。该类型的导航可以帮助用户理解站点结构通过该导航,可以迅速找到相关的位置14SiteMapPath重要属性qPathSeparator属性控制分隔符的样式可以通过编辑模板更改分隔符为任意样式分隔符模板qParentLevelsDisplayed属性控制导航显示的级数导航过深,影像美观,可通过该属性控制级数qSiteMapProvider属性 15web.config文件设置 16TreeView控件q以树形目录方式导航的控件典型的树形目录典型的树形目录与与WinForm中的树形控件相似,中的树形控件相似,ASP.NET提供了方便的树形目录控件的提供了方便的树形目录控件的使用方式使用
7、方式17TreeView控件 qASP.NET TreeView控件用于以树状结构图形界面显示分层数据,如文件目录、站点导航地图等。q通过自定义TreeView控件,允许其具有多种外观。qTreeView支持回发样式的事件以及简单的超链接导航。18TreeView的使用步骤q将TreeView导航控件拖入页面q编写数据文件(.xml)q设置数据源q设置自动套用格式19设置不同的数据源qTreeView绑定XML文件的方式指定指定XML文件数据源文件数据源绑定绑定节点节点 链接绑定的属性链接绑定的属性显示文字绑定的属性显示文字绑定的属性指定指定XML文件的路径文件的路径20TreeView控件使
8、用示例 21Menu控件qMenu控件提供静态和动态混合的菜单功能。q静态部分是直接显示在页面上q动态部分是仅在需要的时候才显示我们经常遇到静态我们经常遇到静态和动态结合的菜单和动态结合的菜单动态菜单和静态菜单结合,可动态菜单和静态菜单结合,可以提供更多的选项,又不必担以提供更多的选项,又不必担心占用页面的空间心占用页面的空间22Menu控件 qASP.NET Menu控件用于在ASP.NET网页中显示静态和动态菜单。q无需编写任何代码,便可控制Menu控件的外观、方向和内容。q菜单控件由一个或多个MenuItem组成,这些MenuItem一般组织在层次结构的不同级别中。q每个MenuItem包含一些属性,这些属性确定MenuItem的外观(如文本和navigateURL等)。23Menu控件的使用q与TreeView类似,只是增加了动态选择项。选择静态还是动态选择静态还是动态菜单菜单在这里设置静态显示部分的级别数在这里设置静态显示部分的级别数