转自:http://www.cnblogs.com/ball-head/archive/2010/09/28/1837253.html
最近在博客里写了一些日志,主要都是我在实际编程过程中遇到的问题。问题出现后,先自己推敲,搞不定的,就上网去搜,再就是请教同学、同事,从中获益匪浅,也很难得!现在把感觉比较实用的一些功能代码之类的发布到网上去,发觉自己在网上收的不全面,有的根本就不能用,我呢是把我的项目代码给贴出来的,绝对经过实践的!在此希望能帮到人,也方便以后自己再用到!好了,下面就是代码了!
首先要创建一个站点地图Web.sitemap,最好在根目录下,Web.sitemap中的代码如下,为简便些,省去了一部分代码:
<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode url="~/Admin/Admin.aspx" title="首页" description="首页描述">
<siteMapNode url="~/Admin/ChangePwd.aspx" title="频道1" description="频道1描述" />
<siteMapNode url="~/Admin/ChangePhoto.aspx" title="频道2" description="频道2描述" />
</siteMapNode>
</siteMap>
站点地图里可随意添加,多少都行,很多的话,可得理清节点的“父子关系”哦!
然后就是配置Web.Config,这个很重要:
<system.web>
<siteMap defaultProvider="default" enabled="true">
<providers>
<add name="default" type="System.Web.XmlSiteMapProvider" siteMapFile="Web.sitemap"securityTrimmingEnabled="true"/>
</providers>
</siteMap>
</system.web>
<!--红色部分的名称可一定得一样哈!蓝色部分也不能少,不然程序找不到地图!-->
这样,就算配置好了,下面就是具体应用了
我的是修改密码页,那么就在~/Admin/ChangePwd.aspx页面里的头部(一般都是现实在顶部)
插入控件<asp:SiteMapPath>控件,代码是:
<asp:SiteMapPath ID="SiteMapPath1" runat="server"></asp:SiteMapPath>
至此,已经全部OK了!至于网上有的说使用<asp:SiteMapDataSource>控件绑定数据,本人经实践,觉得完全没必要!
其实挺简单的,总结来说,就是先创建一个站点地图Web.sitemap,把所有用到的节点都写进去,
然后就是配置Web.Config,把站点地图的名称给写进去!
最后就是实际应用了,要在每个可能使用到导航的页面里添加一个<asp:SiteMapPath>控件就行了!