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
即完成网站地图的制作