定义站点地图
站点地图是一种扩展名为.sitemap的标准XML文件,用来定义整个站点的结构、各页面的链接、相关说明和其他相关定义。站点地图的文档结构是由多个不同层级的节点元素组成的,该文件中包含一个根节点siteMap,在根节点下包括多个siteMapNode字节点,这些SiteMapNode以一种层次方式联系在一起。该层次包含单个根结点,它是该层中唯一的一个没有父结点的结点。在该层上的每个结点代表网站的一个逻辑部分。每一部分都有一个标题,URL,描述等。它用SiteMapNodes类的属性Title,Url和Description等建模。
如果想在一个站点配置多个站点地图和站点地图提供程序,需修改web.config文件,即必须使用add属性将自定义站点地图提供程序添加到Web.config文件中的<system.web>节点中,且可设置其中一个站点地图提供程序作为默认站点地图提供程序,如下面的Web.config文件中添加了两个站点地图:
<system.web>
<siteMap defaultProvider="defaultSiteMap">
<providers>
<add
name="defaultSiteMap"
type="System.Web.XmlSiteMapProvider"
siteMapFile="~/Web.sitemap"/>
<add
name="adminSiteMap"
type="System.Web.XmlSiteMapProvider"
siteMapFile="~/admin/Web.sitemap"/>
</providers>
</siteMap>
</system.web>
创建站点地图最简单方法是创建一个名为Web.sitemap的XML文件,该文件按站点的分层形式组织页面。ASP.NET的默认站点地图提供程序自动选取此站点地图。该创建方法也是在ASP.NET中最常用的方法。Web.sitemap文件中包含SiteMaoNode的层次,这些层次说面了站点地图是如何在内存中描述的。
在ASP.NET中创建一个Web.sitemap文件是非常简单的,这是通过在【解决方案资源管理器】的该网站上单击鼠标右键并选择【添加新项】菜单项,然后选择该站点地图图标来实现的,并确保文件名为Web.sitemap。新建的文件有几个<siteMapNode>XML元素,下面我们就运用这个方法创建一个三层的站点地图,该XML文件具体代码如下所示:
<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode url="~/Home.aspx" title="主页" description="home">
<siteMapNode url="~/产品/Default.aspx" title="产品" description="产品" >
<siteMapNode url="~/产品/Seechanpin.aspx" title="查看产品" description="查看产品"></siteMapNode>
<siteMapNode url="~/产品/chanpin.aspx" title="产品介绍" description="产品介绍"></siteMapNode>
</siteMapNode>
<siteMapNode url="~/Employee/EmployeeDefault.aspx" title="员工管理" description="员工管理">
<siteMapNode url="~/Employee/Employee.aspx" title="添加新员工" description="添加新员工"></siteMapNode>
</siteMapNode>
</siteMapNode>
</siteMap>
此时,该站点地图就设计完成了,在该站点地图的代码中,用到了<siteMapNode>元素最常用的属性,这些属性我们已经在前面的章节中讲解到,在此就不再多讲解了。