站点导航技术.ppt
7.3.1从父站点地图链接到子站点地图文件对于具有多个子站点的大型站点,有时需要在父站点的导航结构中加入子站点的导航结构,对于每个子站点都有其独立的站点地图文件。这种情况,在父站点地图中需要显示子站点地图的位置创建一个siteMapNode节点,并将其属性siteMapFile指定到子站点的站点地图文件即可,代码如下:siteMapNodesiteMapFile=~/Service/Service.sitemap/【例7-2】演示如何从父站点地图链接到子站点地图文件。在web.config文件中配置多个站点地图要配置多个站点地图还可以在web.config文件中配置站点提供程序,添加对不同站点地图的引用。【例7-3】演示如何在web.config文件中配置多个站点地图。参见示例\第07章\SiteMapDemo\Web.sitemap、Products.sitemap、Service.sitemap、web.config该控件根据Web.sitemap定义的数据自动显示当前页面的位置,并以链接的形式显示返回主页的路径。注意:只有在站点地图中列出的页才能在SiteMapPath控件中显示导航信息。如果将SiteMapPath控件放置在站点地图中未列出的页上,该控件将不会向客户端显示任何信息。【例7-4】演示SiteMapPath的使用。参见示例\第07章\SiteMapDemo\MasterPage.master7.4SiteMapPath控件SiteMapPath的重要属性属性说明ParentLevelsDisplayed要显示的父节点的数目,默认为-1,表示显示所有父节点PathDirection要呈现的路径方向,可选值有:RootToCurrent,这是默认值,表示从根级显示到当前级;CurrentToRoot,表示从当前页显示到根级PathSeparator指定每个节点间的分隔字符串,默认为,可以指定任何字符RenderCurrentNodeAsLink当前节点是否呈现为链接ShowToolTips是否显示工具提示SiteMapProvide允许为SiteMapPath控件指定其它站点地图提供程序的名称7.5SiteMapDataSource控件SiteMapDataSource控件提供了一个数据源控件,Web服务器控件及其他控件可使用该控件绑定到分层的站点地图数据HTMLBODYFORMrunat=serverasp:SiteMapDataSourceid=SiteMapDataSource1runat=server/asp:TreeViewid=TreeView1runat=serverDataSourceID=SiteMapDataSource1/asp:TreeView/FORM/BODY/HTMLSiteMapDataSource绑定到站点地图数据,并基于在站点地图层次结构中指定的起始节点显示其视图。默认情况下,起始节点是层次结构的根节点,但也可以是层次结构中的任何其他节点。表:SiteMapDataSource的属性与起始节点关系属性值起始节点StartFromCurrentNode为false;未设置StartingNodeUrl层次结构的根节点(默认设置)StartFromCurrentNode为true;未设置StartingNodeUrl当前正在查看的页的节点StartFromCurrentNode为false;已设置StartingNodeUrl层次结构的特定节点【例7-5】演示SiteMapDataSource控件的使用。定义Menu菜单内容01Menu控件样式027.6Menu控件设计时手动添加菜单内容;以编程方式添加菜单内容;绑定到数据源的方式来显示菜单内容7.6.1定义Menu菜单内容1.设计时手动添加菜单内容【例7-6】演示如何在设计时手动添加菜单内容。手动添加内容垂直水平参见示例\第07章\SiteMapDemo\StaticInsertMenuItem.aspxMenu控件提供了一个Items的集合属性,这是一个MenuItemCollection集合类型的属性,可以向该属性添加菜单项来实现动态添加菜单项的效果。使用动态编程的方式可以从数据库、文件等多种文件导入菜单项数据,一个最常用的场合就是根据用户