SiteMapPath基本用法

使用SiteMapPath之前必须先建立站点地图,因为SiteMapPath控件要依赖站点地图才能显示

开始=>新键一个Web.sitemap站点地图

如下代码:

<?xml version="1.0" encoding="utf-8" ?>

<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >

  <!-- 表示根目录的页面-->

  <!--如果根目录有其它页面的话,请在同级目录下写配置 

例如: <siteMapNode  url="~/Default.aspx" title="Home"  description="主页" resourceKey="主键"/>

 

子目录的有页面话,做如下配置 例如:

  <siteMapNode  url="~/Default.aspx" title="Home"  description="主页" resourceKey="主键">

  <siteMapNode url="~/temp/index.aspx" title="index" description="indexpage" resourceKey="index" />

  </siteMapNode>

 

  在子目录中的子目录有页面话,做如下配置 例如:

    <siteMapNode  url="~/Default.aspx" title="Home"  description="主页" resourceKey="主键">

  <siteMapNode url="~/temp/index.aspx" title="index" description="indexpage" resourceKey="index" >

    <siteMapNode url="~/temp/temp2/show.aspx" title="show" description="show" resourceKey="show" />

  </siteMapNode>

  </siteMapNode>

 

  就是同目录下的页面 配置要保持目录一致

 

-->

    <siteMapNode  url="~/Default.aspx" title="Home"  description="主页" resourceKey="主键">

  <siteMapNode url="~/index.aspx" title="index" description="indexpage" resourceKey="测试1" />

  <siteMapNode url="~/temp/test001.aspx" title="index22" description="indexpage2" resourceKey="测试2" />

  <siteMapNode url="~/temp/test002.aspx" title="002" description="002" resourceKey="测试3" />

  <siteMapNode url="~/temp/Default001.aspx" title="测试" description="测试" resourceKey="测试">

    <siteMapNode url="~/sell/新文件夹1/Default001.aspx" title="xue" description="xue" resourceKey="xue">

      </siteMapNode>

  </siteMapNode>

  </siteMapNode>

</siteMap>

使用“SiteMapPath”控件无需代码和绑定数据就能创建网站导航。此控件可自动读取和呈现网站图信息

Web.sitemap 导航XML文件

<?xml version="1.0" encoding="utf-8" ?>

<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >

<siteMapNode title="首页" url="SiteMapTest.aspx" >

<siteMapNode title="产品" roles="*">

<siteMapNode title="Windows" url="SiteMapTest.aspx?id=windows" />

<siteMapNode title="Office" url="SiteMapTest.aspx?id=office" />

<siteMapNode title="Mobile Devices" url="SiteMapTest.aspx?id=mobile" />

<siteMapNode title="Business Solutions" url="SiteMapTest.aspx?id=business" />

<siteMapNode title="Servers" url="SiteMapTest.aspx?id=servers" />

<siteMapNode title="Developer Tools" url="SiteMapTest.aspx?id=tools" />

<siteMapNode title="Games and XBox" url="SiteMapTest.aspx?id=games" />

<siteMapNode title="All Products" url="SiteMapTest.aspx?id=all" />

</siteMapNode>

<siteMapNode title="资源" roles="*">

<siteMapNode title="支持" roles="*">

<siteMapNode title="修改密码" url="~/Login/ChangePassword.aspx" />

<siteMapNode title="Knowledge Base" url="SiteMapTest.aspx?id=knowledge" />

</siteMapNode>

<siteMapNode title="Downloads" url="SiteMapTest.aspx?id=downloads" />

<siteMapNode title="Windows Update" url="SiteMapTest.aspx?id=windowsupdate" />

<siteMapNode title="Office Update" url="SiteMapTest.aspx?id=officeupdate" />

<siteMapNode title="Learning Tools">

<siteMapNode title="Training & Certification" url="SiteMapTest.aspx?id=training" />

<siteMapNode title="Books" url="SiteMapTest.aspx?id=books" />

<siteMapNode title="Events & Webcasts" url="SiteMapTest.aspx?id=events" />

<siteMapNode title="Patterns & Practices" url="SiteMapTest.aspx?id=patterns" />

</siteMapNode>

<siteMapNode title="Community" url="SiteMapTest.aspx?id=community" />

<siteMapNode title="Security" url="SiteMapTest.aspx?id=security" />

</siteMapNode>

<siteMapNode title="RSS" roles="*">

<siteMapNode title="公司关系" url="SiteMapTest.aspx?id=relations" />

<siteMapNode title="RSSSite" url="~/RSS/RSSSite.aspx" />

<siteMapNode title="Careers" url="SiteMapTest.aspx?id=careers" />

<siteMapNode title="About this Site" url="SiteMapTest.aspx?id=about" />

</siteMapNode>

</siteMapNode>

</siteMap>

Web.sitemap文件必须包含根结点sitemap。一张站点地图由一系列相联系的SiteMapNode对象组成。这些SiteMapNode以一种层次方式联系在一起。该层次包含单个根结点-它是该层中唯一的一个没有父结点的结点,代表首页。在该父sitemapnode结点下,可以有若干个子sitemapnode结点,分别按层次结构代表了网站的各子栏目(留意一下上例中,各个子结点之间的包含关系)。

 

1、添加一个网站地图项 Web.sitemap项

2、在 Web.sitemap项的写法如下:

<?xml version="1.0" encoding="utf-8"?>

<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0">

<siteMapNode url="default.aspx" title="首页" description="">

    <siteMapNode url="Supply.aspx" title="产品信息" description="" >

      <siteMapNode url="productdetails.aspx" title="产品详细信息" description="" />

    </siteMapNode>

<siteMapNode url="register.aspx" title="新用户注册"/>

    <siteMapNode url="Demand.aspx" title="产品信息" description="">     

    </siteMapNode>

    <siteMapNode url="Projects.aspx" title="招投标信息" description="">

      <siteMapNode url="DownLoad.aspx" title="相关表格下载" description="" />

      <siteMapNode url="ProjectInfor.aspx" title="招投标详细信息" description="" />

    </siteMapNode>

    <siteMapNode url="newsfront.aspx" title="新闻" description="">

      <siteMapNode url="news_detail.aspx" title="行业资讯详细信息" description="" />

      <siteMapNode url="company_details.aspx" title="会员展厅详细信息" description="" />

      <siteMapNode url="ManuscriptFront.aspx" title="在线投稿" description="" />

      <siteMapNode url="subject_detail.aspx" title="专题栏目详细信息" description="" />

      <siteMapNode url="expertinterview_detail.aspx" title="人物专访详细信息" description="" />

    </siteMapNode>

    <siteMapNode url="ForeTrain.aspx" title="培训咨询" description="">

      <siteMapNode url="TrainInfor.aspx" title="培训详细信息" description="" />

      <siteMapNode url="BusiHandBook.aspx" title="商务手册" description="" />

      <siteMapNode url="Technology.aspx" title="技术咨询" description="">

        <siteMapNode url="TechInfor.aspx" title="技术信息" description=""/>

      </siteMapNode>

      <siteMapNode url="Expert.aspx" title="专家顾问团" description="" />

    </siteMapNode>

    <siteMapNode url="ExhibitFront.aspx" title="机电信息展览馆" description="">

      <siteMapNode url="exhibit_detail.aspx" title="会展详细信息" description=""/>

    </siteMapNode>

</siteMapNode>

</siteMap>

3、在web.config文件中的配置如下:

<system.web>

<siteMap defaultProvider="XmlSiteMapProvider" enabled="true">

      <providers>

        <add name="XmlSiteMapProvider"

            description="SiteMap provider which reads in .sitemap XML files."

            type="System.Web.XmlSiteMapProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"

            siteMapFile="web.sitemap"/>

      </providers>

    </siteMap>

</system.web>

4、在页面需要网站地图的位置放入SiteMapPath控件,设置SiteMapPath的SiteMapProvider属性为config文件中的name的值:XmlSiteMapProvider

即完成网站地图的制作

原文地址:https://www.cnblogs.com/strivers/p/1897163.html