ASP.NET2.0提供了一个比较快捷和规范的创建网站导航的方法:使用web.sitemap,TreeView,Menu和SiteMapPath可以创建规范快捷的网站导航地图。
1.web.sitemap:一个xml格式文档的文件,作为网站导航的路径文件,如:
<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode url="Default.aspx" title="PC个人电脑" description="PC">
<siteMapNode url="CPU.aspx" title="CPU处理器" description="CPU" >
<siteMapNode url="INTEL.aspx" title="INTEL处理器" description="INTEL" />
<siteMapNode url="AMD.aspx" title="AMD处理器" description="AMD" />
</siteMapNode>
<siteMapNode url="MainBorad.aspx" title="主板" description="主板" >
<siteMapNode url="ASUS.aspx" title="华硕主板" description="华硕" />
<siteMapNode url="GIGAByte.aspx" title="技嘉主板" description="技嘉" />
<siteMapNode url="MSI.aspx" title="微星主板" description="微星" />
</siteMapNode>
<siteMapNode url="HDD.aspx" title="硬盘" description="硬盘" >
<siteMapNode url="Seagate.aspx" title="Seagate硬盘" description="Seagate" />
<siteMapNode url="Maxtor.aspx" title="Maxtor硬盘" description="Maxtor" />
</siteMapNode>
</siteMapNode>
</siteMap>
显示了网站地图的层次结构,根节点是PC个人电脑,子节点有:CPU处理器,主板和硬盘,每个子节点又有自己的子节点。
这就是网站的层次,也可以自己手动写自己的网站地图XML文档,不局限于上诉的格式,不同是,web.sitemap使用SiteMapDataSource可以自动绑定到TreeView,Menu和SiteMapPath上显示,如果采用自定义XML文档,需要使用XMLDataSource绑定并且要在TreeView,Menu上编辑相应的绑定节点。
2. TreeView: 树形结构,可以绑定web.sitemap文件和自定义XML文件,以树形结构显示绑定的数据。
3. Menu:菜单结构,可以绑定web.sitemap文件和自定义XML文件,以菜单形式显示绑定的数据。可以设置静态显示或是动态弹出显示。
4. SiteMapPath:面包屑提示信息,根据web.sitemap的层次结构在页面上自动显示当前的路径和路径深度。

一个网站可以通过SiteMap类的API动态读取导航信息,并能设置同一个网站访问多个sitemap文件。
通过以上几个控件的紧密合作,加上母板页的支持,可以编写出结构清晰,规范的完整网站导航结构,可以实现和大量页面设计和javascript脚本处理下的同等效果。