定义站点地图

  如果在Web站点中使用ASP.NET站点导航,必须创建一个描述站点结构的文件以便站点导航API和站点导航控件可以正确公开站点结构。在默认情况下,站点导航系统使用一个包含站点层次结构的XML文件。不过,也可以将站点导航系统配置为使用其他数据源,如:数据库。这些描述站点结构的文件成为站点地图。
站点地图是一种扩展名为.sitemap的标准XML文件,用来定义整个站点的结构、各页面的链接、相关说明和其他相关定义。站点地图的文档结构是由多个不同层级的节点元素组成的,该文件中包含一个根节点siteMap,在根节点下包括多个siteMapNode字节点,这些SiteMapNode以一种层次方式联系在一起。该层次包含单个根结点,它是该层中唯一的一个没有父结点的结点。在该层上的每个结点代表网站的一个逻辑部分。每一部分都有一个标题,URL,描述等。它用SiteMapNodes类的属性TitleUrlDescription等建模。
如果想在一个站点配置多个站点地图和站点地图提供程序,需修改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.sitemapXML文件,该文件按站点的分层形式组织页面。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>元素最常用的属性,这些属性我们已经在前面的章节中讲解到,在此就不再多讲解了。

posted @ 2008-06-07 16:20  yound  阅读(615)  评论(0编辑  收藏  举报