如何在站点中使用多个站点地图文件
2009-12-13 21:36
344 查看
ASP.NET中的站点地图十分好用,不过以前在用的时候一直以为一个站点只能用一个地图,因为SitemapPathDatasource控件没有指定站点地图文件的属性,一直觉得不妥,微软不应该这样呀。今天看MSDN,才发现原来是自己不会用,需要配合配置文件一起使用,不知道微软为什么不用一个属性直接指定文件呢,这样不是更省事吗?
方法如下:
配置文件:
<siteMap defaultProvider="DefaultSiteMapProvider" enabled="true">
<providers>
<add name="DefaultSiteMapProvider" type="System.Web.XmlSiteMapProvider" siteMapFile="Web.sitemap"/>
<add name="AdminSiteMapProvider" type="System.Web.XmlSiteMapProvider" siteMapFile="Admin.sitemap"/>
<add name="EmployeeSiteMapProvider" type="System.Web.XmlSiteMapProvider" siteMapFile="Emp.sitemap"/>
<add name="UserSiteMapProvider" type="System.Web.XmlSiteMapProvider" siteMapFile="User.sitemap"/>
</providers>
</siteMap>
在SitemapPathDatasource控件中可以使用属性:SiteMapProvider指定要使用的provider是哪个。
也可以在代码中指定,如下所示:
if (Session["RoleName"] != null)
{
if (Session["RoleName"].ToString().Equals("user"))
{
SiteMapDataSource1.SiteMapProvider = "UserSiteMapProvider";
}
else if (Session["RoleName"].ToString().Equals("admin"))
{
SiteMapDataSource1.SiteMapProvider = "AdminSiteMapProvider";
}
else if (Session["RoleName"].ToString().Equals("employee"))
{
SiteMapDataSource1.SiteMapProvider = "EmployeeSiteMapProvider";
}
}
方法如下:
配置文件:
<siteMap defaultProvider="DefaultSiteMapProvider" enabled="true">
<providers>
<add name="DefaultSiteMapProvider" type="System.Web.XmlSiteMapProvider" siteMapFile="Web.sitemap"/>
<add name="AdminSiteMapProvider" type="System.Web.XmlSiteMapProvider" siteMapFile="Admin.sitemap"/>
<add name="EmployeeSiteMapProvider" type="System.Web.XmlSiteMapProvider" siteMapFile="Emp.sitemap"/>
<add name="UserSiteMapProvider" type="System.Web.XmlSiteMapProvider" siteMapFile="User.sitemap"/>
</providers>
</siteMap>
在SitemapPathDatasource控件中可以使用属性:SiteMapProvider指定要使用的provider是哪个。
也可以在代码中指定,如下所示:
if (Session["RoleName"] != null)
{
if (Session["RoleName"].ToString().Equals("user"))
{
SiteMapDataSource1.SiteMapProvider = "UserSiteMapProvider";
}
else if (Session["RoleName"].ToString().Equals("admin"))
{
SiteMapDataSource1.SiteMapProvider = "AdminSiteMapProvider";
}
else if (Session["RoleName"].ToString().Equals("employee"))
{
SiteMapDataSource1.SiteMapProvider = "EmployeeSiteMapProvider";
}
}
相关文章推荐
- MVC:如何使用站点地图
- SMS脚本节选六:如何使用站点控制文件
- MVC:如何使用站点地图
- 如何使用HOSTS文件禁止用户访问特定的站点?
- SMS脚本节选六:如何使用站点控制文件
- 页面内定义的js变量,如何在引入的JS文件中使用
- Win10如何使用蓝牙传输文件?Win10使用蓝牙传输文件的方法
- 1-1:(翻译)如何使用cocos2d制作基于tile地图的游戏教程:第一部分
- 如何使用.NET配置文件(一)
- jdom或dom4j读取xml文件时如何让dtd验证使用本地dtd文件或者不生效
- 在命令行下,如何使用JAD反编译jar文件
- Linux下如何使用cp命令复制文件及复制目录
- CFile类使用如何创建文件打开对话框
- 如何使用AdvancedInstaller在安装包中运行一个.bat文件
- SCNView如何灵活使用DAE文件
- 如何使用 robots.txt 文件控制对网站的访问
- 如何使用PHP获取网络上的文件
- 如何正确使用不同类型的WSDL文件
- 如何在android style文件中使用自定义属性
- 如何制作和使用Jffs2文件系统