惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
U
Unit 42
GbyAI
GbyAI
M
MIT News - Artificial intelligence
美团技术团队
罗磊的独立博客
雷峰网
雷峰网
量子位
博客园 - 【当耐特】
Last Week in AI
Last Week in AI
D
Docker
小众软件
小众软件
S
SegmentFault 最新的问题
Blog — PlanetScale
Blog — PlanetScale
阮一峰的网络日志
阮一峰的网络日志
宝玉的分享
宝玉的分享
T
Tailwind CSS Blog
WordPress大学
WordPress大学
V
V2EX
博客园_首页
腾讯CDC
The Cloudflare Blog
A
About on SuperTechFans
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC

博客园 - 小释

提取与设置函数值 C#中的面向对象概念 关于网络工程师 批处理添加IP和添加路由,测试局域网计算机是否alive C#核心概念--装箱和拆箱(什么是装箱和拆箱) 相当牛的老师 关关雎鸠,在河之州,窈窕淑女,君子好逑,与其隔水相望,不如涉水度他 我拿什么来爱你,My Web 在DataGrid中显示图片 FFHEDITOR在线编辑器 FCKEDITOR在线编辑器 生日快乐 Happy Birthday To Me GridView模板列绑定字段过长的解决方案 CSS中的单位一览 最近真的烦 杀毒软件 十年 生产实习 今天和网管的兄弟聚会
单个sitemappath使用多个sitemap范例
小释 · 2007-08-22 · via 博客园 - 小释

     当用到多个站点地图时,要动态指定,可在MasterPage的PageLoad事件中指定,如下:
this.smpDataSource.Provider = System.Web.SiteMap.Providers["ComXmlSiteMapProvider"];

当然,你得在web.config中加入站点地图的相关内容,如:
<siteMap defaultProvider="PrisonXmlSiteMapProvider" enabled="true">
<providers>
<add name="PrisonXmlSiteMapProvider"
description="SiteMap provider that reads in .sitemap files."
type="System.Web.XmlSiteMapProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
siteMapFile="PrisonWeb.sitemap" />
<add name="ComXmlSiteMapProvider"
description="SiteMap provider that reads in .sitemap files."
type="System.Web.XmlSiteMapProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
siteMapFile="ComWeb.sitemap" />
</providers>
</siteMap>
    上面的例子用到两个站点地图:PrisonWeb.sitemap和ComWeb.sitemap,在web.config里的配置方式上面例子已经贴出来了,你复制过去改一下站点地图文件名为你实际的文件名就行了.
下面是在MasterPage的PageLoad事件中指定用那一个站点地图的例子:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
if (Session["PrisonCode"].ToString().ToUpper() == "PNOTIN")
{
//超级用户,显示全部可用菜单项
this.smpDataSource.Provider = System.Web.SiteMap.Providers["ComXmlSiteMapProvider"];
}
else
{
//非超级管理,仅显示XX可见的菜单项
this.smpDataSource.Provider = System.Web.SiteMap.Provider;
}
}
}