?" url="~/introduction/whatsnew.aspx"/>
<siteMapNode title="Sample Applications (Starter Kits)" url="~/introduction/starterkits.aspx"/>
<siteMapNode title="Introduction to Visual Web Developer" url="~/introduction/vwd.aspx"/>
</siteMapNode>
<siteMapNode title="Building A Web Application" url="~/development/default.aspx">
<siteMapNode title="Building a Simple Application" url="~/development/simple/default.aspx">
<siteMapNode title="Introduction to ASP.NET pages" url="~/development/simple/pages.aspx"/>
……
</siteMapNode>
</siteMapNode>
</siteMap>
使用站点导航控件
在Web页面上提供站点导航的最简单办法就是使用图形化的站点导航控件(SiteMapPath、TreeView和 Menu)。
· SiteMapPath--一个breadcrumb控件,它检索用户的当前页面并显示页面的层次结构。这让用户可以导航回层次中其它的页面。SiteMapPath只能与SiteMapProvider一起使用,需要设置控件的SiteMapProvider属性。
· TreeView--在Web页面上提供垂直的用户界面,它可以展开和收缩选中的节点,也可以提供检查框功能以供用户选择数据项。TreeView控件支持宣告式的或编程设置数据元素和数据源控件。如果你使用SiteMapDataSource控件,那么数据绑定就是自动进行的。
· Menu--提供水平的或垂直的用户界面,当用户把鼠标放在一项上的时候会弹出子菜单。Menu控件支持宣告式的或编程设置数据元素或数据源控件。如果你使用SiteMapDataSource控件,数据绑定就是自动进行的。
请注意,TreeView和Menu控件都可以用于非导航的情形。
下表描述了TreeView和Menu之间的差别,以便于你能根据需要做出适当的选择。
特性 Menu TreeView
扩展 弹出 位置扩展
根据需要下载 No Yes
检查框 No Yes
模板 Yes No
布局 水平 & 垂直 垂直
Style选项 Yes Yes
选择模式 静态的、 动态的层次 层次或父/根/叶,或按数据项
在下面的例子中,你看到的TreeView和Menu控件为不同的区域和操作(例如NodeStyle和HoverNodeStyle)配置了一些样式属性。例子中的TreeView和Menu控件都连接到页面上的同一个SiteMapDataSource控件。SiteMapPath控件通过Web.config文件中设置的默认的SiteMapProvider来访问相同的数据。
<asp:treeview ID="TreeView1" ForeColor="White" DataSourceId="SiteMapDataSource1" NodeIndent="0" NodeStyle-ChildNodesPadding="10" runat="server">
<LevelStyles>
<asp:TreeNodeStyle Font-Bold="true"/>
<asp:TreeNodeStyle />
<asp:TreeNodeStyle Font-Size="x-small"/>
</LevelStyles>
<nodestyle forecolor="White" HorizontalPadding="5"/>
<SelectedNodeStyle backcolor="lightblue" forecolor="blue"&nbs